|
|
||||||||||||||||||||
| Home > Software Quality News > The case for software tester, analyst partnerships | |
| Software Quality News: |
|
||
How has the role of analyst evolved in software development projects? What are the challenges/issues of analysts doing testing? The majority of defects have their root cause in bad requirements, so if you have the people writing the requirements just assuming that the requirements are perfect, you have over half the defects not getting out of the system. And it forces the whole process to be sequential because the analysts won't get to testing until they finish the requirements. Usually by the time code is well under way is when they're getting serious about testing, and developers are stumbling across problems with requirements. So they never really get traction on the testing until you're deep into the coding side, and then everyone blames testing for why the project is late. When you have a separate test group working in partnership with the analyst you can have about 90% of the functional test cases on the shelf before the project starts, so you're getting a lot more concurrency. Plus, by having a separate testers you get checks and balances. You have the dedicated resources and they can work more concurrently. Also, one of the more underappreciated things is human nature. If you're an analyst and you find a defect in the requirements, it means you did something wrong. If you're a tester and you find something wrong with the requirements, you did something right. People like to do something right, so people's whose job it is to find defects will do that really well. Does partnering add people or costs to a project team? What are some examples of how analysts and testers partner? How else do analysts/testers partner up front? One of our tests steps is validating the requirements against the objectives, to make sure what function/feature we deliver is focused on solving the fundamental goals of that application. Another is scenario-driven tests of the robustness of the requirements, which is the what-if game. Those scenarios are test cases. The testers have a fairly global view of the application while analysts and developers tend to have a fairly stovepiped view because they're working on a piece of the system. Between the two groups they come up with a robust set of scenarios. Testers are really good at coming up with exception cases. Then as the requirements get written, the testers and analysts can do the ambiguity reviews in partnership. Once that's done the testers design the test scripts. If you're doing a rigorous approach to testing it's a critical skill to be able to design a sufficient set of tests that mathematically equal the features/functions and requirements, and that would be able to verify that all that design and code had been implemented. So we like to focus the testers on that skill. Then the testers take those test cases back to the analyst for review, to make sure they understood the requirements properly, and the analysts [may] actually find bugs in their own requirements by looking at the test cases. Then together they take those test cases back to the product manager, the users, and they ask them to review the tests, and this is happening in real time with writing the requirements. Does this speed the process? How do analysts/testers partner later in the test cycle?
'); // -->
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
| About Us | Contact Us | For Advertisers | For Business Partners | Site Index | RSS |
|
|
|
|||||||