Software Test related summary records

Source: Internet
Author: User

Software Testing

Coding and testing are collectively implemented.

Usually after each module is written, the program does the necessary testing, which is called unit testing. The template is written and tested by the same person.

Other comprehensive tests will then be performed by a dedicated tester, the software testing engineer.

The workload of software testing often accounts for more than 40% of the total software development effort.

Coding

The following requirements are available for encoding:

1) documentation inside the program

2) Data Description

3) Statement Construction

4) Input/output

5) Efficiency: program run time, memory efficiency, input and output efficiency

Fundamentals of Software testing

I. Objectives of software Testing

1) test is the process of executing the program in order to discover errors in the program

2) Good test scenarios are highly likely to find errors that have not been detected so far

3) A successful test is a test that finds errors that have not been found so far

Note: The test can only look for errors in the program, not the test without errors.

Second, the software testing guidelines

1) All tests should be traceable to the user's needs

2) The test plan should be developed far before the test begins.

3) Apply the Pareto principle (80% of the errors found in the test is probably caused by the 20% module in the program) to the software test

4) should start with a "small scale" test and step into a "large scale" test

5) exhaustive test is impossible.

6) A third party should be engaged in the testing work

Third, the test method

White box test and black box test, first white box test, then black box test. (will be supplemented later)

Iv. Test Steps

1) module test (also known as Unit test)

2) Sub-system testing (putting the unit-tested modules together to form a subsystem)

3) System Testing (test subsystem is assembled into a complete system for testing)

4) Acceptance test (the software system as a single whole, it is the active participation of the user, the acceptance test is also known as the confirmation test)

5) Parallel operation (the new and old system running at the same time to compare, the purpose is: 1, you can run the new system in the quasi-production process without risk; 2) The user can have a familiar with the new system, 3, can verify the user's Guide and manuals and other documents, 4, can be in the quasi-production mode of the new system Performance metrics can be verified with test results)

V. Information flow in the testing phase

The information entered is made up of two main categories:

1) software configuration, including requirement specification, design specification and source program specification list, etc.

2) test configurations, including test plans and test scenarios, so-called test scenarios are not just the input data (called test cases) used in testing, but also the capabilities that each set of input data is scheduled to verify, and the correct output that each group of data expects to achieve

(The test configuration is a subset of the software configuration, that is, the final software configuration should include the actual results of the test configuration and testing and the records of the test)

Unit Test

First, the test focus

1) Module interface

Include: the number of parameters, order, attribute or unit system and the argument is consistent, whether to modify the input only arguments; Global variables are defined and used consistently in each module

2) Local data structure

Often errors in local data description, initialization, default values, etc.

3) Important Execution pathways

4) Error Handling path

The error is often: 1 The description of the error is difficult to understand; 2 The error noted differs from the actual error encountered, 3 the error condition has caused system intervention before the error is processed, 4 the error is not handled correctly, and the information describing the error is insufficient to help determine the location that caused the error

5) Boundary conditions

Second, code review

Third, computer testing

Develop driver software and/or stub software for each unit test

Integration Testing

First, top-down integration

Second, bottom-up integration

Thirdly, the top-down method is combined with the bottom-up method used in the lower layer of software structure.

Iv. Regression Testing

Confirm Test

Validation testing is also known as acceptance testing, and its purpose is to verify the effectiveness of the software.

Validation (verification) is a series of activities that ensure that the software correctly implements a particular requirement.

Confirmation (validation) is a series of activities that ensure that the software does meet the needs of the user.

Definition of software effectiveness: Software is effective if the functionality and performance of the software are as reasonable as the user expects.

One, the two possible results of software testing:

1) function and performance consistent with user requirements, the software is acceptable.

2) There is a gap between function and performance and user requirements.

Second, software configuration review

Iii. Alpha and beta testing

The alpha test is performed by the user at the developer's site and is tested by the developer under the guidance of the user. The developer is responsible for documenting the errors found and problems encountered during use. This means that the alpha test is performed in a controlled environment.

Beta testing is performed by the end user of the software in one or more customer sites. Developers are not usually present, which means they are not controlled environments. The user records any issues (real or imagined) that are encountered during the beta test and periodically reports them to the developer.

That is to say, as a computer/software user, we usually touch the most beta version of the software, and the alpha version of the software in addition to their own development/testing of the basic will not be encountered.

White Box Testing technology

First, the logical coverage

1) Statement Overlay

2) Decision coverage

3) Condition coverage

4) decision/condition coverage

5) Conditional combination override

6) Point Overlay

7) Edge Overlay

8) Path Overlay

Second, the control structure test

1) Basic Path test

The main is: 1 according to the process design results to draw the corresponding flow graph; 2 The complexity of the annular complexity of the flow graph, the logical complex of the quantitative measurement procedure of the ring complexity; 3 determines the basic set of linear independence; 4 design enforces test cases for each path in the base collection

Loop complexity calculation method: V (G) =p+1,p is the number of decision (if etc) nodes in the flow graph.

2) Condition test

3) Cyclic testing

This includes: simple loops, nested loops, threaded loops (that is, two loops side by side, not including relationships, nested loops when the relationship is included)

black box Test

One, black box test to solve the problem:

1) function is not correct or missing function
2) Interface Error
3) Data structure error or external database access error
4) Performance Error
5) initialization and termination errors

Second, the design of black box test should consider the problem:

1) How to test the effectiveness of the function?
2) What types of inputs make up a good test case?
3) is the system particularly sensitive to specific input values?
4) How to delimit the boundary of the data class?
5) What data rates and data volumes can the system withstand?
6) What impact will the specific combination of data have on the system operation?

Third, equivalence division

The input fields are divided into several data classes, and the test cases are exported accordingly.

Iv. Review of boundary values

V. False speculation

Debug

First, the way to debug

1) Reckless method
2) Backtracking method
3) Cause exclusion method

Software Reliability

Software reliability is the probability that a program runs successfully within a given time interval, as specified in the specification.

The meaning of the error is the software error (BUG) caused by the developer

The meaning of the fault is the incorrect behavior of the software caused by the error

First, the method of estimating average trouble-free time

1) Symbols

ET --The total number of errors in the program before testing
IT -Program Length (total number of machine instructions)
Tau --testing (including commissioning) time
Ed (Tau ) --from 0 to Tau Number of errors found during
E c (Tau ) --from 0 to Tau Number of errors corrected during the period

2) Estimated number of errors

Implant error and separate test method

Software test related summary records

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.