"Software Engineering--theory, Method and practice"--tenth chapter

Source: Internet
Author: User

The 10th Chapter Software test

Software testing is a key activity of software quality assurance, it is through review of requirements specification, software design instructions and program code, to ensure that software products before delivery, as far as possible to detect latent problems in the software.

First, verification and confirmation

Software issues that meet the following 5 rules are defined as software errors:

(1) The software does not meet the function indicated by the product specification;

(2) The software has appeared the error that the product specification indicates will not appear;

(3) The software does not meet the objectives of the product specification, although not specified but should be achieved;

(4) The SOFTWARE function is beyond the scope specified in the product specification;

(5) Software Testers think the software is difficult to understand, difficult to use, slow to run, or the end user is not satisfied.

Software testing attempts to demonstrate that software products or intermediate products can meet customer needs, including logical coordination, completeness, and correctness, at all stages of the software life cycle.

Software validation is a series of activities and processes that are designed to ensure that software products meet their descriptive requirements.

Software validation: Confirmation of requirements specification and procedure confirmation. Confirmation of the program: static confirmation, dynamic confirmation.

Ii. Fundamentals of Software Testing

The goal of software testing is to systematically identify potential errors and pitfalls in the software with minimal time and effort.

Basic principles of software Testing:

(1) "Early and continuous software testing" should be the motto of software developers;

(2) Programmers should avoid checking their own programs;

(3) in the design of test cases, should include reasonable input conditions and unreasonable input conditions;

(4) The test case should have the test input data and the corresponding expected output of the two components;

(5) Fully pay attention to the cluster phenomenon in the test;

(6) Strictly implement the test plan and eliminate the randomness of the test;

(7) Every test result should be checked thoroughly;

(8) Properly maintain all the test process documentation, for the maintenance of convenience.

Software Test V model: From top to bottom: requirements analysis, conceptual analysis, detailed design, coding; bottom: unit test, integration test, System test, acceptance test.

Test documents: Test plans, test specifications, test cases, defect reports.

The importance of testing documents is in the following aspects: Verifying the correctness of requirements, testing resources, identifying the risks of tasks, generating test cases, evaluating test results, testing, and determining the effectiveness of testing.

Software testing requires 3 types of information: Software configuration, test configuration, test tools.

Testers should have the following qualities: communication skills, empathy, technical ability, self-confidence, diplomatic ability, sense of humor, strong memory, patience, skepticism, self-supervision, insight.

Third, software testing strategy

Unit Test: module interface test, local data structure test, important execution path test, error handling test, boundary condition test, Duan Yuancan Villager test method.

Integration testing: Top-down testing, bottom-down integration.

System test: Recovery test, safety test, strength test, performance test.

Software debugging: A simple Debugging method (1. inserting a print statement into the program; 2. Run part of the program;3. with Debugging Tools), inductive debugging, deduction, debugging, backtracking method debugging.

Iv. Software Testing methods: Static test and dynamic test, black box test and white box test

Five, object-oriented software testing

Object-oriented test types: Model testing, class testing, interactive testing, System (subsystem) testing, testing along, releasing Tests.

"Software Engineering--theory, Method and practice"--tenth chapter

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.