Software testing concepts

Source: Internet
Author: User

Concept of software testing:
1. The cost of error correction and the time detected showed an exponential growth trend

2. software testing is not limited to coding, but should be carried out throughout the whole process of software development. Software testing is not equal to program testing. Therefore, documents obtained at various stages, such as requirement analysis, outline design, detailed design, and program coding, including Requirement Specification Description, software summary Design Specification Description, software Detailed Design Specification Description and source code, should be used as the object of software testing.

3. Key Analysis, traceability analysis, evaluation, and interface analysis are the main activities for verification and validation. The key analysis aims to ensure the effective use of resources, especially when the required resources are not met, it is necessary to analyze the resource allocation policies of the entire system as a whole; traceability analysis is the ability to identify the relationship between the original requirement and the corresponding development result. It aims to ensure that each requirement in the specification is correctly identified, the tracking between the current stage and the front and back stages is consistent. The evaluation is not only to evaluate the final software product, but also to all stages of software development. Interface analysis must focus on three types of interfaces, namely, user interfaces, hardware interfaces, and software interfaces.

4. the purpose of software quality assurance activities is to develop and plan Software Quality Assurance tasks and objectively verify whether software products and tasks comply with applicable standards, procedures and requirements, relevant teams and individuals should maintain good communication and inform them of their knowledge and results on Software Quality Assurance in a timely manner. Senior management personnel can participate in and help solve incompatibility problems that cannot be solved in the project.

5. the software verification and validation theory is the theoretical basis of the testing process, and the verification is to check whether the results of the process activities in each stage of Software Development meet the specification description, verify the logical coordination, completeness, and correctness of each stage. Validation is to verify that the software logic is correct in a given external environment, that is, whether it meets user requirements. Bohem provides a classic definition: verification is to check if we are building a product correctly, and it emphasizes the correctness of the process. The confirmation is to check whether we are building a correct product, which emphasizes the correctness of the product.

6. The three most important factors in software production are quality, progress, and cost.

7. the principle of test cases is as follows: (when designing test cases, pay full attention to the cluster phenomenon in the test, that is, the number of residual errors in the test program is proportional to the number of detected errors ), therefore, during the test, the program segments of the error cluster should be tested to improve the test efficiency and the efficiency of the test investment. At present, a "80-20 principle" is popular in the software testing field, and 80% of errors are found in the module of 20%, therefore, if a program module seems to be more prone to errors than other program modules during testing, it should take a lot of time and cost to test the program module, this improves the test efficiency.

8. the V model reflects the relationship between the test activity and the analysis and design activity, and emphasizes the different test levels that need to be experienced throughout the project development process. It ignores that the test object should not only be a program, the W Model supplements the V model and clearly states that the testing object is not only a program, but also a test is required for requirements and design. The H model points out that software testing is an independent process, as long as a test reaches the readiness point, the test execution activity can be carried out. Software Testing runs throughout the entire lifecycle of the product and can be performed concurrently with other processes.

9. The software testing process reflects the software testing process and method. Like the software development process, the software engineering principles and management principles are followed.

10. In 1979, glenford J. Myers defined a test as a process of a program or system executed to detect 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 discover undiscovered errors. · A successful test is a test where no errors have been found before.

11. the acceptance test is based on the buyer. The target is a complete and integrated computer system, and the technical basis is the software development contract; the Software acceptance test should meet the requirement that the software under acceptance test has passed the system test. Acceptance Tests are generally organized by the software's demander and implemented by independent software developers. If the acceptance test is conducted by a third party, it is generally necessary to entrust a third-party testing organization approved by the State.

12. Risk refers to the impact that may bring bad effects to the project cost, progress and quality. Risks can be avoided. You can take measures to avoid them or avoid them. They can only reduce the losses caused by risks.

13. TSM is divided into three levels. Level 1: weak ). Support for testability. Only a few test problems are mentioned. Level 2: Basic (basc ). Support for testability. The basic test problems are mentioned. Level 3: strong (strong ). Support for testability. All test problems are mentioned.

14. according to GB/T 15532-2008 computer software testing specification, the design of test cases should follow the following principles: ① principles based on test requirements. ② Based on the principles of testing methods. ③ Taking into account the principles of test adequacy and efficiency. ④ Principles of test execution repeatability.
According to GB/T 15532-2008 computer software testing specification, software testing management includes test process management, configuration management, and test review management.

15. The software development process is a top-down and step-by-step process, while the software testing process is a reverse process of bottom-up and step-by-step integration.

Software Quality:
1. according to ISO/IEC 9126-, the software quality model can be divided into three types: Internal Quality Model, external quality model and use quality model.

2. Software quality measurement is an activity based on the software quality requirements in the software life cycle. It mainly consists of three aspects: external measurement, internal measurement, and quality measurement. The external measurement is carried out in the process of testing and using the software product. The measurement result is obtained by observing the system behavior of the software product and measuring its system behavior; internal measurements are carried out in the software design and coding process. Static Analysis of intermediate products is used to measure internal quality characteristics. Quality measurements are used during user use.

3. Internal Quality refers to the entire set of product attributes that determine the ability of a software product to meet specified and implied requirements when it is used under specified conditions. Internal Quality refers to all the features of software products from an internal point of view. Internal Quality Requirements include static models, dynamic models, other documents and source code.

4. There are four attributes of software quality: effectiveness, productivity, security, and satisfaction.

5. external Quality refers to the degree to which the requirements are met and represents the extent to which the software product meets the specified and implied requirements when used under specified conditions; the internal quality is mainly given according to the software product situation, which indicates that the software product is used under the specified conditions, the entire product attribute that determines its ability to meet specified and implied requirements

Robustness test:
1. Design of common test cases for robustness testing: Fault insertion testing, mutation testing, and error prediction. Common design methods for failure recovery testing are: Standardized export method, Error Prediction Method, fault-based test, and risk-based test.

2. robustness testing, also known as fault tolerance testing, aims to check whether the system can automatically recover from the fault and repair itself, this requires the system to fully estimate possible exceptions in the running status, and design the plan in advance to ensure that the system can recover from errors. Common test case design methods include fault insertion test, mutation test, and error prediction. The Standardized export method is a commonly used case design method for failure recovery testing.
The purpose of software integration testing is to test the interface relationships between units, software units and integrated software systems and verify that the integrated software systems meet the design requirements.

Software defects:
1. In Software defects, opening is active, and both solution and close are inactive.

2. Software defects generally come from the needs and design phases of software development projects.

3. From the test point of view, Software defects can be divided into five categories: functional defects, system defects, processing defects, data defects, and code defects. Functional defects include specification defects, functional defects, test defects and test standards. Control and sequential defects are system defects.

 

Related Article

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.