AgilityMethods are favored in software development, especially in the development of Internet application service systems. More and more companies are adopting agile methods, including XP, scrum, lean, crystal,FDD. Specific agile methods have some differences in operations, but the basic idea is the same, such as customer first, embracing changes, shortening iteration cycles, and self-organization. In Agile Methods, streamThe process is relatively flexible, emphasizing communication, and solving problems in a timely manner through full communication. Due to the full communication, documents are not very important, and may not use independent file formats such as word,Web content such as Wiki and space is used. In Agile Methods, fast demand changes and short product development cycles (one or two weeks) pose great challenges to software testing! For exampleIt is difficult to implement automated testing. If you do not have enough time to develop automated testing scripts, you need to spend a lot of time discussing product features and performing product acceptance tests in a timely manner. Automated Testing, moreMost of them are implemented at the unit test level. But some key practices such as unit test automation and continuous integration, developers can play a greater role, and testers cannot play well.Function. In Agile Methods, developers play a more dominant role in discussing and implementing requirements, modifying, implementing, and restructuring requirements, and constantly improving products. testers are easy to develop.. Even in the crystal method, developers can undertake all technical work without the need for testers.
How can the value of testers be reflected in Agile Methods?
-
- First, in the demand discussion, testers can elaborate on their own points of view from the customer's perspective, and fully communicate and discuss with product personnel and developers so that they can experience users.And business logic.
-
- In the development process, testers not only play the "user representative" role, but also provide more comprehensive quality feedback in a timely manner, includingCodeQuality and interface consistency. Not written by the testerCode, can participate in code review, submit quality problems to the project team in a timely manner, to ensure that the quality is concerned enough throughout the product construction process, improve qualityContinuity and visibility.
-
- Testers can still participate in unit tests. Even if unit tests are conducted by developers, testers can push developers to perform unit tests and check the unit test status, such as ensuring Unit TestsThe test has a coverage rate of more than 80% and helps developers develop code with good testability.
- Even in Agile Methods, integration testing, end-to-end testing, and performance testing are indispensable. Because in agile methods, a large system development is often dividedMultiple Small subsystems (modules/components), integration testing and end-to-end testing become more important. The workload of testers in functional testing is reduced, but in these testsPlay a bigger role.
-
- With the continuous development of iterations, the regression testing workload is huge, which is also the application of testers. Testers can develop automated test scripts for stable product features.It is also a continuous effort to automate regression testing.
-
- Testers analyze defects and summarize some rules to help developers establish good habits and improve code quality.
And:
- In agile methods, we also need to adoptAgile TestingInstead of writing dozens of pages of test plans, write a one-page test plan for each iteration cycle and list the test points.
- In agile testing, you may not need to use cases. Instead, you can directly verify the use case or user story and perform exploratory testing. The time saved is used for original development.The automated test script of the function, which is used for regression testing. Automated test scripts will replace test cases and become a fortune for software organizations.
Therefore:
Agile function testing = manual testing of new features(Use Case verification and exploratory testing)+ Automated testing of original functions(Regression testing)
Ideally, testers have good programming skills and can exchange roles with developers. Takes the role of a tester in the current version Development (/iteration cycle), in the next versionThis development (/iteration cycle) serves as a developer, while developers serve as testers, allowing developers to deeply understand the needs of users to consider the design of system functions,In this way, the product quality and communication barriers will be better guaranteed, and the development efficiency will be greatly improved. This is also a challenge for testers.
Agile testing is also a process of continuous testing, and the foundation of this continuous testing is to have a flexible and open automated testing framework. Testers can play a leading role in building an automated testing framework, developing testing tools, or preliminary research and trial use of 3rd-party testing tools.
The project adopts agile methods. To succeed, the projectEveryone in the group has a strong sense of quality and a master spirit of quality. In particular, developers should remind themselves every moment-"quality is built ."Engineers should fully communicate with each other to comply with highly consistent quality standards. Testers will be the backbone of Improving the Quality Culture.
[Case supplement]
We have been in HW for a while, and our project is a brand new key project. Thanks to the agile development model, everyone, including PM, is exploring. Changing CMM to agility without comprehensive documentation, and changing defect libraries to lightweight ones, the leaders said that the test in agility is not about how many bugs are found, but about no bugs during testing, all problems should be solved during development and communication. After three rounds of iteration, communication took most of the time and I felt that I had done a lot of work, but I don't know how to reflect it. This is really a problem. I hope you can give me some suggestions.
Current question: how does the tester's performance reflect in Agile development?
Refer:
- Efficiency Improvement series: What are the advanced and mature software engineering ideas in Agile development?
- Software Development Process (cmme/RUP/XP/MSF?
- Agile Unified Process (AUP)
- Essential Unified Process (essup)
- Agile Development Direction
- The development direction of software engineering and agile development