The starting point and source of software testing-Seven test-driven models (methodology)

Source: Internet
Author: User

(Zhu shaomin is copyrighted? 2014: Indicate the real source for any reference and forwarding)

Is there always a starting point for software testing? Where can I start analysis? What is the test design based on? Simply put, what drives the test work? This is a basic problem. Based on my years of understanding of software engineering, product quality, and testing, I have summarized seven test-driven models (sorted by the degree of Recommendation): Zhu shaomin is copyrighted? 2014

1) Business/demand-driven testing;

2) Product Quality risk-driven testing;

3) model-driven testing;

4) (system) function-driven testing;

5) design-driven testing;

6) (Program/Code) structure-driven testing;

7) Statistics/experience-Driven Testing

Zhu shaomin copyright? 2014

1. Business/demand-driven testing: It is easy to understand. A software always needs to solve certain business problems of users. A business-driven test is a test object that analyzes the business objectives, business processes, user roles, business rules, business data, and business development based on your actual business needs, determine the test scope, test methods, and policies for these objects. Whether the test is sufficient is measured by business processes and data. Whether a software system can fully meet business needs is the most important concern for business/demand-driven testing. Such testing can be classified into a demand-based verification method and a user-scenario-based testing method.

Zhu shaomin copyright? 2014

2. Product Quality risk-Driven Testing: Tests are performed based on the product quality model: Internal Quality-> external quality-> using quality, emphasizing the elimination of product quality risks throughout the life cycle, starting from code review and Code complexity measurement, evaluate the internal quality to expose the quality risks, and then gradually expand to the evaluation of the system's external quality and user quality, and continuously reveal and feedback the main risks of product quality. In such tests, the Property Analysis of product quality is thorough, and static tests are also emphasized, including manual code review and design review, and static code analysis or check tools.

Zhu shaomin copyright? 2014

3. model-driven testingAbstract construction of verification models for actual problems, such as UML modeling, finite state machine, Petri Net, and Kripke structures. system attributes can be described by Time Series Logical formulas (such as CTL and LTL. For a wider understanding, decision tables, causal graphs, and pair-wise are also used for test modeling. Testing and Modeling of large-scale complex application systems will be greatly challenged. With the development and integration of software and modeling technologies, these problems will be gradually solved. However, the model-based Automatic Generation of test cases and automated scripts can completely complete the automated test process. Most automated tests were previously limited to testing execution, A large number of test scripts need to be developed and maintained, with a large proportion of manual work, and a maximum of half automation.

Zhu shaomin copyright? 2014

4. (system) function-Driven Testing: Many people talk about software testing, that is, functional testing and performance testing, which more or less reflect the idea of "functional testing-driven. The function-driven test is based on the system features, according to the software specification design specification (may not), for each function verification, determine whether the function runs normally, whether consistent with the design. The functions are generally divided into sub-functions and sub-functions, forming a list of functional points, and designing and executing test cases for functional points.

Zhu shaomin copyright? 2014

5. Design-Driven Testing (DDT): Inspired by TDD, DDT analyzes and designs the test in advance, and the test is driven by design. DDT has the following features: testing is more flexible and simpler, eliminating repetitive work, testing cases guide the test plan (opposite to traditional testing), and testing cases can be converted into testing code, includes Business Requirement testing, scenario testing, and controller Testing. Testing is useful to both the development and test teams. Book on design-Driven Testing: Design-Driven Testing-making testing http://product.dangdang.com/23407007.html easier for programmers

Zhu shaomin copyright? 2014

6. (Program/Code) structure-driven test:It is similar to structured testing and white box testing. Test is driven from the program structure, program structure analysis is carried out, and various parts of the program and their associations are gradually covered, such as testing based on components, interfaces, or APIs; test the code structure, including code line coverage, branch coverage, and basic path coverage. The adequacy measurement of structure-driven tests will be more objective, especially code-based coverage analysis. Currently, there are a large number of tools to support it.

Zhu shaomin copyright? 2014

7. Statistics/experience-Driven TestingIt can be seen as an integral part of "experience Software Engineering", recognizing that actual measurement data and experience are more valuable than various theoretical models. Collect, analyze, and summarize data and experience during software testing, and generate an empirical model for testing. Context-driven testing, exploratory testing, Defect Prevention, and incorrect guess can be attributed to this type of test. Although not rigorous, the test is basically driven by statistics/experience.

 

Zhu shaomin copyright? 2014: Indicate the real source for any reference and forwarding

 

The starting point and source of software testing-Seven test-driven models (methodology)

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.