Software Testing Concepts

Source: Internet
Author: User

The concept of software testing:
1. Error correction cost and time of discovery the trend of exponential growth

2. Software testing is not limited to program coding, but should be run through the whole process of software development. Software testing is not the same as program testing, therefore, requirements analysis, summary design, detailed design and program coding and other stages of the documentation, including requirements specification, software outline design specifications, software detailed design specifications and source programs, should be used as software testing objects.

3. Critical analysis, traceability analysis, evaluation and interface analysis are the main activities for verification and validation. The key analysis is to ensure the effective use of resources, especially when the demand resources are not met, it is necessary to analyze the whole system of resource allocation strategy; Traceability analysis is the ability to identify the relationship between the original requirements and the corresponding development results, which is designed to ensure that each requirement in the specification is correctly identified, The tracking between the current phase and the front and back phases is consistent. Evaluation is not only the final software PRODUCT evaluation, but the software development at all stages of the need to do. Interface analysis must focus on 3 interfaces, namely user interface, hardware interface and software interface.

4. The objective of software quality assurance activities is to develop and plan the tasks of software quality assurance, objectively verify that the software products and tasks comply with applicable standards, procedures and requirements, maintain good communication with relevant groups and individuals, and inform them of the knowledge and results of software quality assurance in time. Senior management can participate and help resolve incompatible issues that cannot be resolved in the project.

5. Software verification and validation theory is the theoretical basis of testing process, verification is to check the software development of the various stages of the process of the results of the activities to meet the description of the specification, confirm the logical coordination between the stages, completeness and correctness. Confirmation is the logical correctness of the software in a given external environment, that is, whether the user's requirements are met. Bohem gives a classic definition: verification is to check whether we are building a product correctly, and it emphasizes the correctness of the process. And the confirmation is to check whether we are building a correct product, it emphasizes the correctness of the product.

6. The 3 most important factors for software production are quality, schedule and cost.

7. The principle of the test case 5th (design test cases should pay attention to the cluster phenomenon in the test, that is, the number of errors in the program after the test is proportional to the number of errors found), so in the test should be the wrong cluster of the program section to focus on testing to improve the efficiency of testing and test the effectiveness of investment. At present, in the field of software testing, a "80-20 principle", that 80% of the error is found in 20% of the module, so when the test if it appears that a program module more than other program modules have more error tendencies, it should take more time and cost to test the program module, Thus improving the efficiency of the test.

The 8.V model reflects the relationship between the test activity and the analysis design activity, emphasizing the different test levels that need to be experienced throughout the project development process, ignoring that the object of the test should not be just a program, and the W model complements the V model, clearly stating that the object of the test is not just programs, requirements, designs, and so on. , the H model points out that software testing is a separate process, so long as a test reaches the ready point, the test execution activity can be carried out, and the software test runs through the entire life cycle of the product and can be carried out concurrently with other processes.

9. Software testing process embodies the process and methods of software testing, as with the software development process, follow the principles of software engineering, follow the principles of management

10.Glenford j.myers in 1979 the test is defined as: Software testing is the process of executing a program or system for the discovery of errors. At the same time he gave three important points about the test: · The test is to prove that the program is wrong, not to prove that the program is correct. A good test case is that it can find errors that were not previously found. A successful test was a test that found errors that were not previously found.

11. Acceptance testing is a demand-side test, the object is a complete, integrated computer system, the technical basis is the software development contract; Software acceptance testing should meet the acceptance test software has passed the system test. Acceptance testing is generally carried out by the software's demand-side organization and implemented by personnel independent of the software development. If the acceptance test is commissioned by a third party, it should generally be entrusted to a nationally accredited third party testing institution.

12. Risk refers to something that could have a bad impact on the cost, schedule, and quality of the project. Risks can be avoided, measures can be taken to avoid them, and they may be unavoidable, only to reduce the risk of loss.

The 13.TSM is divided into 3 levels. First level: weak (weak). Testability support, only a few test questions are mentioned. Second level: Basic (BASC). Testability support, which refers to basic testing issues. Level Three: Strong (strong). Testability support, which mentions all the testing issues.

14. According to the "GB/t 15532-2008 computer Software Test Specification", the test case design should follow the following principles: ① based on the principle of testing requirements. ② is based on the principle of test methods. ③ the principle of testing adequacy and efficiency. ④ the repeatability principle of test execution.
According to the "GB/t 15532-2008 computer Software Test Specification", software testing management includes test process management, configuration management and test review management.

15. The software development process is a top-down, gradual refinement of the process, while the software testing process is the reverse sequence of bottom-up, progressive integration process.

Software quality:
1. In accordance with ISO/IEC 9126-1:2001, the software quality model can be divided into internal quality model, external quality model and the use of quality Model 3.

2. Software quality measurement is mainly based on software quality requirements in the software life cycle of an activity. It is divided into three main areas: external measures, internal measures, and the use of quality metrics. The external measurement is carried out in the process of testing and using the software product, by observing the system behavior of the SOFTWARE product, performing the measurement of its system behavior, the internal measurement is carried out in the process of software design and coding, and the internal quality characteristics are measured by static analysis of intermediate products. The use of quality metrics is done during the user's use.

3. Internal quality is the entire product attribute that characterizes the ability of a software PRODUCT to be used under specified conditions to determine its capability to meet specified and implied requirements. Internal quality is the whole feature of software products from the internal point of view, internal quality requirements include static model, dynamic model, other documents and source code, etc.

4. The quality of use of the software is divided into 4 categories: effectiveness, productivity, safety and satisfaction.

5. The external quality is to meet the requirements of the degree of satisfaction, is to characterize the software products under the prescribed conditions, to meet the requirements of the required and implied degree; The internal quality is mainly based on the software products, is to characterize the software products under the specified conditions, The entire product attribute that determines its ability to meet the prescribed and implied requirements

Robustness Test:
1. Test case design methods commonly used for robustness testing are: fault insertion test, mutation test, and error guessing method. Common test case design methods for fail-back testing are: Canonical derivation, error-guessing, fault-based testing, and risk-based testing

2. Robustness testing, also known as fault tolerance testing, is designed to check the ability of the system to recover automatically from failures and to self-repair, which requires the system itself to adequately estimate the possible anomalies in the running state, and pre-design the plan to ensure that the system can recover from the error. Common test Case design methods are: Fault insertion test, mutation test, and error guessing method. The canonical derivation method is a common use case design method for failure recovery test.
The purpose of software integration testing is to verify the interface relationship between the unit, the Software unit and the integrated software system, and validate that the integrated software system conforms to the design requirements.


Software defects:
1. In software defects, open is an active state, and resolution and shutdown are inactive.

2. In general, software defects are mostly from the requirements and design phases of software development projects.

3. From the perspective of testing, software defects can be divided into 5 categories: functional defects, system defects, processing defects, data defects, code defects. The performance of the functional defects are: specification of defects, functional defects, testing defects and testing standards caused by defects. Control and sequential defects belong to system defects.

Software Testing Concepts

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.