followers 2 popularity
following 1

followers  view all

following  view all

youradisnothere is not in any groups


Software development, .NET
Rickardo | youradisnothere

Why do developers need test cases?

Nov 10th 2015 at 6:55 AM

Testing plan, test design, test coverage, bug report are all notions that make up a list of expressions used by testing specialists for describing this or that task. But such notion as test case is more common and is known to more people, even to those who understand little in programming.

Test case is a document which describes the order of actions, conditions and parameters required for analyzing the quality of the system under test and its components. Test case includes four main components: name, pre-condition, steps and expected result. Under pre-condition (or preliminary steps) we understand description of the conditions which are not related to the testing process itself, but should be carried out anyway. For example, in order to check the quality of some element you need to register in a system. Steps are the sequence of actions which leads to the expected result. This is the structure of test case.

What is an ideal test scenario?

First of all, test cases should be clearly presented, which increases the chances that some possible defect will be detected. Secondly, while they should be really detailed, there should be no excessive information. Thirdly, test cases should be independent from each other so that they don’t interconnect. Otherwise, if you change, add new information or delete one test case, there may be problems with the connected test cases.

Who writes a test case?

Test cases creation is a pretty difficult process which requires certain knowledge and deep understanding of the project needs. As a rule, the main people responsible for test cases are testing and QA specialists, but this is not always so. But, with appropriate knowledge to set priorities and see the future architecture of the project, test cases can be written by different specialists. But when we speak about testing specialists, they should test software in the first turn, even with the help of specialized software.

As a conclusion, I’d like to add that mobile app testing is also structured clear process. In order for specialists not to be distracted all test cases should follow one pattern.

Please to comment
Dec 24th 2015 at 10:54 PM by paulnevinthomas
Assuming a "normal" team with a few developers and possibly a few people dedicated to testing, it goes something like this: developers write unit tests developers and/or QA write integration tests QA writes acceptance tests In the scrum model, there is no distinction between "developer" and "QA". The team as a whole is responsible for the quality of the software, and the team decides on a case-by-case basis who should be doing the testing. Many smart people think developers should write all their tests. I've worked in organizations like that, and we always delivered exceptionally high quality software. In those companies, not only should senior devs write tests, they must. Other very smart people believe that developers should not test their own code because they have blinders on. "I don't need to test X, my changes couldn't possibly have affected it". To combat that you should always have someone else write the tests. I've worked in those types of organizations, and there, too, we also delivered high quality code. The bottom line is that if you're a developer, you are ultimately responsible for the quality of the code you produce. That means you should be writing tests -- regardless of organizational structure -- and if you have other team members, then you should work with them to make sure the code is properly tested. In practical terms, the only people who can answer this for you is you and your team. It's perfectly reasonable for senior level programmers to write tests (and if they are good programmers, you won't ever have to ask them to do it because that's just part of the job). It's also perfectly reasonable for junior people to write tests -- this is a good way for them to learn the software. In either case, there is no should. You should do whatever allows your team to create software with an appropriate level of quality.

sign in

Remember Me

New to IM faceplate? join free!

Lost Password? click here