Agile testing VS traditional testing, 6 ways to play agile testing!

1. What is agile testing?
Agile testing is a new testing process, method, and practice adopted to adapt to agile methods. It has tailored the traditional testing process and has a different focus, such as reducing the proportion of work such as test planning and test case design, and increasing product design , Communication and collaboration of developers.
In the agile testing process, participate in unit testing, focus on the new features of continuous iteration, and conduct sufficient acceptance testing for these new features. The regression testing of the original features depends on automated testing.
Simply put, agile testing is to continuously provide timely feedback on software quality issues and rapid iteration, that is, we carry out short-period development, launch, feedback, and optimization, which makes the project easy to adjust and therefore agile.

2. The application form of agile testing in the project
Daily stand-up meeting: that is a 15 to 30-minute meeting every morning. The meeting format is that project team members go to the whiteboard to introduce what they completed yesterday, problems encountered or good methods. The content of work planned to be completed today, etc.; on the
whiteboard will be written demand pool, development ready, development and completed SR, test ready, test and completed SR, acceptance ready, acceptance SR, and acceptance completed SR;
By analyzing the progress of the story on the whiteboard, see if there is a progress delay in the project. If so, the project manager will ask questions, analyze the reasons, and find out how to improve.
Extreme Programming (XP) is a software development process that enables developers to quickly produce high-quality code. Developers in XP can pair programming to improve the quality of the code.
Test-driven development: In agile testing, each story has a planned start and end time. When developers analyze and design their own stories, testers need to analyze and design test cases for stories, and developers need to show to testers when submitting The case indicates that the developed story function has been implemented and the test can be started;
at this time, the tester performs the test. If the developer has not completed the function development at the time when the story needs to be submitted to the tester for testing, the tester should supervise the developer to submit the test , In the case of delayed submission or analysis, it is necessary to feed back to the project for reformulation of measures.

3. The difference between agile testing and traditional testing
1. The project is equivalent to parallel development and testing, and the overall project time is faster.
2. The module is submitted quickly, and the test is more oppressive.
3. Clear division of work tasks and high work efficiency.
4. Project planning should be reasonable, otherwise there will be retests during testing, which will increase the workload.
5. You need to follow up when you find a problem. The people in the project are busy, and the problem is easy to be forgotten.
6. Problems that are time-consuming or difficult to solve that have little impact on the project will generally be left to the next stage for solution.
7. It is found that the BUG can be solved quickly, and the impact on the test of related modules is relatively small.
8. Version changes are frequent, which affects the speed of testing.
9. Communicate more with development.
10. Pay attention to the update of the version.
11. Testers have to participate in almost all meetings of the entire project team.

Fourth, the key process
in agile testing In a sprint, the work content of testers is mainly divided into five parts: user story analysis, test case design and development, test execution and analysis, continuous integration of tests, and regression testing. The work of these five parts will continue until the end of the sprint, but the start time is early and late, as shown in the following figure

User story analysis work: Agile testing is to continuously confirm the realization of customer needs. Therefore, the analysis and understanding of user needs need to be continued, and deviations are found to be corrected in time, and reasonable acceptance points and test items are set.
Testcase Develop work: design test cases, complete test code development, test data preparation, and communicate software interfaces with developers in time to ensure that test codes can successfully drive business codes.
Testing & Analysing work: Perform testing, count test coverage, analyze test results, communicate in time if bugs are found, and assist in locating bugs.
Continuous Integration work: Integrate the test code to ensure that if the current function is contaminated by the subsequent integration code, it can get an alarm in time, and continuously improve the functional baseline of the software product.
RegressionTesting work: After completing all user stories, perform a complete regression test on all codes and confirm all bug fixes.

5. How can agile testers improve development productivity?
In agile testing, testers are people who help speed up the progress, that is, people who increase productivity.
1. If the defect is discovered in a timely manner, the easier it is to modify, for
example, it can be discovered within one day, then there are few changes that occur within one day, and it is easy to find the problem. This requires an automated testing tool to find defects in near real time.
If continuous integration is performed once a day, the reason for the failure of the integration test will be very single and easy to locate. Imagine a digital TV system, from authorization/encoding/encryption/multiplexing/modulation//display... a lot of information is very opaque. If the integration is done at the last minute, it is basically impossible to tell where the problem is.
2. If the person who found the defect is the person who made the defect, the easier it is to modify.
If developers have automatic testing tools, they can quickly see if there are any problems with their own programs, instead of handing them to testers to find out, it is easier to modify. Imagine a compiler. If the compilation activities are delegated to others (it is hard to imagine now, this is actually the case in the very early stages of software development), the efficiency will be very low.
3. The less time a developer spends on finding and modifying bugs, the higher the development efficiency.
Another inference is that it is much easier to add a function to a product with zero defects than a product with defects.
Therefore, the inference of 1 and 2 is to improve the development efficiency.

6. What do agile testers do?

  1. Continuously promote the efficiency and effectiveness of automated testing.
  2. Continuously promote the efficiency and effectiveness of continuous integration.
  3. Continuously improve the time it takes for developers to develop functions instead of dealing with defects (even if the defects are made by the developers themselves).
    Of course, there is a premise that each software has different goals and strategies for its requirements/schedule/quality/cost. Agile testers cannot be self-centered and cannot pursue the effects of the testing activity one-sidedly, but should help the development team achieve it. Goals and strategies.

Guess you like

Origin blog.51cto.com/14652106/2535214