What should I choose because all possible inputs, paths, and status of the test system never want to detect the test system, so what should I choose? When should you stop testing? When should I be suspended? How to write a test package, it can detect a combination of sufficient messages and status to illustrate the operation of the failure, but from the practicality it is sufficient?
Testing made many basic but confusing problems, with these issues, participated in several practical software test training.
Since the complexity of the software has caused the test complex, it is not possible to expect training to give us the actual guidance in many work. The theory of the preparation is certain, but not meaningless, although theory can also be obtained from the relevant documentation.
There are some experience, zero dispersive, record, communicate with you.
First, the software tester is to find the software defect as early as possible and make sure it is closed. After careful thinking, I think this goal contains three meanings. 1. The basic goal of software testers is to discover software defects. This seems to be a matter of self-evident, but it is necessary to emphasize again. Because sometimes the development team wants tubes just to confirm that software can run, not to find defects. In this case, the tester also lacks unremitting efforts to discover the spirit and enthusiasm of defects. So the primary condition for testing is to clarify the basic goal of software testers to discover software defects. 2. Software testers pursue is to identify software defects as soon as possible. Because the software's repair costs, over time will grow, the software tester should find out the software defects as soon as possible. For large software, while software development, there should be followed by the following tests. If the product has been developed, it will start testing, which is very likely to cause a large amount of time-consuming rework. How to find a defect as early as possible? In theory, there are some test methods: static black box test, dynamic black box test, static white box test, dynamic white box test; configuration test, compatibility test, easy-to-use test ... How to effectively use these methods as early as possible Discover software defects, requires constant exploration, summary, and constantly improving testing capabilities in work practice. For the company's situation, if the size of the software is not very large, the test work in the development may be comparable to the developer. 3. Software testers must ensure that the software defects identified are closed. Not every software defect is necessary to fix. It may be because there is not enough time, it is not considered true software defects, and the repair is too large. The product development team decided not to fix some software defects. However, the test person must ensure that the software defects identified are closed, that is to say that once the software defect is registered, it is necessary to track its life cycle, monitor its status, and provide the necessary information to ensure that it is repaired and closed.
Second, about Testware. There is a very simple definition, Software Development Engineers Produce Software, Software Test Engineers Produce Testware. What is the Testware contains? Test Strategy, Test Plan, Test Specifications, Test Procedures, Test Cases, Test Reports, Test Data, Test Scripts, DEFECTS DATA, and more. Like the software, Testware also needs to be well maintained. For example, since the repair defect changes the interface of the software, the Case and Automatic Test Scripts Script must be modified.
Third, the test of the product manual. The software product function manual describes the function of the product ultimately needs. These functions are ultimately determined customer needs, including the capabilities that software must have. In the standard software development process, the product function manual should be determined before the system is designed after determining the user's needs. As for the test of the product manual, statistics show that many software defects are because the product function manual is not comprehensive, often changed; in addition, there is only a detailed reading of the product function manual, confirming the function of the product needs to be implemented. Develop a practical test plan. Its method, specifically, there are several of the following. 1. Referring to the requirements, check whether the products described by the product function specification will be complete, accurate, consistent, and reasonably describe the functionality of the product, and ensure that these functions are tested. 2. Studying whether the product manual meets the standards or specifications of existing software design and development. 3. Study similar software, predict the final result of the product. However, if it is applied to the actual development process, there is a certain difficulty. Because it is difficult to make software testers participate in the project in the early days of the project, it is generally waited until the skin's prototypes will only let software testers begin to test. Even in the initial test personnel participate in the project, it is only based on the product manual and the design plan. The tester did not be given the responsibility to check the product manual. Fourth, the economy test. Test is a complex work. Therefore, it is necessary to consider its efficiency. There are several principles in the economic test. 1. If a case (x) relying on another (Y), if Y fails, then x may not test. 2. For a subset, if an input has caused failure, then the remaining input can not be tested. 3. For a CASE, if a test subset fails, then other subsets may not be tested. As a result, I associate an actual problem. The developer will be tested once, according to the process, a comprehensive test should be performed. But if the defect is found in the initial test, do you continue to continue? Do not continue, this round is not complete, and the test report cannot be output. Continue to full testing, if the defects found are severely resolved defects, the following tests are uneconomical because this defect is repaired. According to the principle of testing, it is found that the defect should be fed back to the developer in a timely manner in time. However, in practice, developers often give a repair version and then test again. What caused, to the end of the project, find how many defects, often pass through how many rounds test, each round of test is just a repair of a defect. So I think that when it is suspended, do you need to be suspended, when will developers send new fixes, there should be a good control.
V. Automatic test We use the Rational Robot to write automated test scripts for automatic testing. Mainly used with the UI test with some APs. Since writing SQA Basic is high, the program applied to a slightly complexity or a project that needs multiple rounds of regression test is more economical. If it is a simple UI, or if you don't need multi-wheel regression test, it is necessary to compare Write a script invested and implement an automated test. If the multi-wheel regression test is more varied, the rewrite script is also a heavy work.
The above is a little bit of experience, and zero.