Traditional Culture Encyclopedia - Traditional stories - Common software testing methods and tools
Common software testing methods and tools
Test manager and PM review TC:
Overview of agile testing process:
Among agile methods, XP emphasizes the importance of testing in the whole project development process. Agile testing for agile development methods is different from previous testing for traditional development patterns. In an agile team, testing is the "headlight" of the whole project team. It tells everyone where they are now and which direction they are going. Testers provide a wealth of information for the project team, so that the project team can make correct decisions based on these reliable information. Not only the testers should ensure the quality, but everyone in the whole project team should be responsible for the quality. Testers don't pester developers' mistakes, but help them find their goals and strive to achieve the ultimate goal of the project. Agile testing also requires highly iterative work, frequent feedback from customers, and dynamic adjustment of test plan and test execution. In addition, agile testers participated in more agile production activities, which had a positive impact on the decisions and plans made by the team.
According to the agile development mode currently adopted by the company's projects, it is suggested that the corresponding agile testing process is as follows:
1. Verify the requirements and design.
Requirements and design generally include: (1) functional design specification written by the project manager according to the requirements text; (2) Implementation design instructions written by developers according to functional texts include (architecture documents, project scope statements, use cases). As a tester, the focus of the audit is to check the completeness and rigor of the text definition of user requirements and the testability of functional design.
At the beginning of testing, testers should learn to do static testing, and do a good job in demand analysis and design logic analysis. Testers should pay more attention to the realizability of requirements and actively participate in the requirements analysis, design and development of projects and systems as the first user. Actively participate in the preliminary work, and quickly feedback its static test results to the design and development. Start testing as soon as possible, don't wait until the function is completely completed.
Output: the test needs to submit the review result document, which can make the test more involved in the review of DB design and framework.
2. Test plan, test case
2. 1 Write plans and test cases
In the process of agile development, time is estimated according to each user story. The developer will evaluate the complete user story required for this iteration. Developers can communicate directly with customers to determine the priority of each user story.
Benefits:
Customers can clearly understand which user story takes a long time and their priorities.
Question:
Developers often underestimate the time estimate of user stories. Version cannot be published on time or must work overtime to publish.
Analysis:
Because the version is updated quickly, the task time is estimated in hours. Developers generally ignore the time outside of development, such as the time when they encounter problems in development, the time of meetings, the time to help other members, and so on.
For example:
The developer estimates that it takes 1.5 days to encode a user story, and the developer estimates that the other time is half a day. So the estimated time given by the developer is 2 days. The actual time spent in the development stage is as follows, and the time spent in the regular meeting every day. Other members of the project need technical support in regular meetings. So I spent three hours helping. Some unexpected problems were encountered in the development process, which took 4 hours to solve. (Maybe more). Need to deal with some unexpected affairs of the company and so on. Therefore, it is strongly recommended that you fully consider other factors when estimating the time. According to an XP-related book, the best time to estimate the time is 2-3 times of the coding time. It sounds scary, but it really takes so much time to actually operate.
Testers prepare test plans and design test cases according to the approved requirements and designs. Among the three texts mentioned above, the functional design text is the main basis. The two texts of the test should also be reviewed by the project manager and developers.
2.2 Audit of test cases
In order to enable developers to participate in the evaluation of test cases, ensure the quality and feasibility of TC, ensure the smooth progress of the test, and enable developers to quickly understand the key points of the test and give corresponding opinions and suggestions, testers should also publish a TC_Matrix (test case tracking matrix) to indicate which features TC has covered. Specify the number of TC corresponding to each feature, so that the test manager and PM can see the coverage of TC at a glance when reviewing TC, and give suggestions in time for areas with insufficient coverage (such as insufficient test cases for a key feature).
In addition, in the morning meeting every morning, testers can briefly talk about the key parts of the day's test and what serious bugs exist in the project, so that developers can understand what the key points of the day's test are, how to conduct the test, and put forward their own opinions and suggestions. This strengthens the communication between developers and testers, and makes the testing work more effective and smooth.
Testing should take time to update test cases at the end of iteration.
3. Implement operational tests
In agile methods, there are two kinds of tests: unit test and receiving test. The unit test is completed by the developer, and the receiving test is completed by the customer representative.
Because our customers can't be on site, so we adopted, developers do unit tests, testers do verification tests, and finally customers do acceptance tests. Before each version is released to customers, it must be tested by testers. After the release, customers will do acceptance tests and put forward the places that need to be revised. What needs to be revised will be completed in the next version.
unit testing
Before the daily build version test, the developer should do unit test first, inform the weak links in the software in advance, and help testers adjust the test focus. unit testing
The advantage of unit testing is that it can improve the version quality, reduce the workload of testing, and reduce the incidence of shallow bugs, so that testers can devote more energy to finding deep bugs.
Confirmation test
Generally speaking, the verification test of testers is the process of putting the test cases designed in the previous step into practice as planned. The test at this stage must be carefully planned. This kind of planning is first reflected in the coordination and cooperation between development and testing. According to the dependence of product architecture and functional modules, we will jointly promote it according to the overall project planning. Judging from the process of testing, the test execution can be aimed at some functions at first, and then it can be gradually expanded. Then, the iterative process is used to complete the test task, that is, the test task is divided into multiple cycles. First of all, you can do some key functional tests, and the reusable parts (components, parts) in the code can be completely tested. Edge function test and other tests can be done in the next iteration cycle, and the last few iterations should be used for regression test and key performance and stability test.
3. 1 Provide bug trends every day.
In order to measure the progress of the project, the test can provide the bug trend of the test after the completion of the test every day, that is, the number of new bugs and the number of bugs solved every day, marked as a trend chart. Generally, the curve of the number of new bugs will show an upward trend in the early stage of the project, and the curve of the number of solved bugs will tend to rise in the middle and late stage of the project, while the curve of the number of new bugs should decline. At the end of the project, both curves tend to zero. PM will continue to observe this chart to ensure the healthy development of the project and predict the project bugs through analysis.
For each version of bugs, developers should think about why such problems occur, especially very low-level bugs, and whether similar bugs can be avoided.
Testing needs to be considered: the writing of exploratory test cases
3.2 Maintenance of test cases
In the testing phase, testers need to maintain the existing test cases in time. Usually, some test cases need to be added in the following two situations: first, for areas with incomplete test design at the beginning, and second, for external bugs (such as bugs reported by Beta customers), which are not covered by existing test cases. When the functional design of the product changes (the functional design in agile projects often changes), the test cases involved should be modified accordingly to keep the test cases in sync with the existing functional requirements.
3.3 according to the project constantly add common sense.
During the project, testers need to accumulate experience and constantly supplement and improve the common sense standards of various projects. For example, the common sense of American standards summarized by CTTS projects should be strictly followed in future American projects to ensure that the mistakes that occurred before will not recur in future project tests. While ensuring the quality of the project, we will constantly accumulate new experiences.
3.4 Control Intermediate Version
In order to better ensure the quality of software and avoid risks, it is necessary to strengthen the control of intermediate versions. For example, if a customer requests or plans to submit a version on Friday, then he must submit an intermediate version for testing on Wednesday, that is, control the intermediate version to avoid completing all the work in the most urgent time later. Before the project, the project was easy in the early stage, and there were more and more bugs in the later stage. Developers and testers are very busy and often work overtime. In order to reduce the later workload and avoid risks, it is suggested to develop Daliy build, or build it once after completing a feature, so as to effectively avoid more and more bugs, reduce the later workload accordingly, and ensure the quality of the project.
3.5 Write release notes before releasing the version.
Before each release, testers should write release notes according to the version to be released, so that customers can see the released version at a glance. The release notes mainly include three aspects: fixed, new features and known problems. Among them, the fixing part indicates which big bugs existed in the previous version were fixed by this version; The new features section explains what features have been added in this version; In the part of known problems, what are the major problems in this version that need to be improved in the next version? Or list the places where the requirements are not clear, wait for the customer to give a clear answer, and complete it in the next version.
4. Supervision and regulation of demand
Customers often change their requirements in projects that adopt agile development mode. Therefore, demand management is very necessary and important. During the whole project process, the ever-changing requirements must be tracked, and each demand change must have a corresponding historical record to facilitate the later management and maintenance. Every change can be recorded in the requirements tracking document, and the document can always keep the latest update status to keep up with the changes in requirements.
Question:
The customer may modify the requirements back and forth at a function point, and may need a function at first, but after finishing it, he feels bad and puts it down. Later, for some reasons, it is necessary to add something. It may have been revised many times during the whole process. Then be sure to record the content and date of the change. Maybe later, customers will think that a function takes so much time. Didn't you already do it? At this time, these records are the best proof to solve customers' doubts. To put it bluntly, there is evidence that we have made many changes. You may think there is such a problem. In fact, if a project lasts for more than half a year, everyone's memory may be unreliable (:P)
Suggestion:
At present, vss tool is used to back up the demand changes mentioned in daily mail, and the document is named after the date when the mail was received that day.
5. Carry out "bug cleaning" at the end of project development.
At the end of the project development, you can carry out "bug cleaning" activities. Set aside a special time period, during which all the people involved in the project concentrate on searching for bugs in the project. Please note the following points:
(1) Although this is a testing activity, participants are not limited to testers. Project managers, developers and even senior managers should participate, just like the national mobilization. The purpose is to brainstorm; (2) Cross-searching in various departments and fields should be encouraged, because new ideas and perspectives usually help to find more bugs. (3) In order to arouse enthusiasm and improve interest, competition mechanism can be introduced appropriately. For example, at the end of the activity, individuals who found the most bugs and the most serious bugs will be judged and given material and spiritual rewards. (4) Special topics can be developed, such as security, user interface usability, internationalization and localization.
- Previous article:Detailed data of pumped storage power station
- Next article:I want to start a clothing business, how do I do it?
- Related articles
- How to draw COVID-19's picture book?
- Violation of trademark law how to punish
- Which province and city is Suonaihai Village located in?
- Four Famous Liquor in Henan in 1970s
- What is the next nearest festival after the Double Ninth Festival?
- What does ignorance mean?
- How to write style in English
- Do traditional ideas always give way to new ones?
- What are the trade methods of export declaration?
- Mao Zedong's patriotic poems