Software testing What you need to know (a) overview

Source: Internet
Author: User

Software testing is a process used to promote the correctness, completeness, security, and quality of a certified software. The classic definition of software testing is the process of operating the program under prescribed conditions to detect program errors, measure software quality, and assess whether it meets design requirements. Software testing also provides an overview of the software under test from an objective, unrelated perspective, thus providing an objective understanding of the risks that exist in the software.

Some of the test properties that are of interest to software testing:

    • Whether to meet the design requirements
    • Whether the correct values are returned for various inputs
    • Whether the response time can be accepted
    • Availability of
    • Can be run correctly in the desired environment

Usually, because the small components of the software under test, the component is almost infinite, and the software test will use a feasible strategy, in a limited time and resources, to selectively test. Therefore, the software testing is to find the bug and the program to selectively targeted testing. In other words, software testing is not exhaustive.

In a typical waterfall development process, software testing is actively introduced when the program can be partially executed, such as unit testing. In contrast, in agile development, requirements, programming, and testing are often concurrent.

bugs and Bugs (Defects & Failures )

Not all software defects are caused by coding errors. Usually, if the position is located at the top of the waterfall, the loss is greater, such as differences in demand or unclear. Therefore, the sooner the defect is found, the better the defect correction. Differences in requirements often refer to non-functional requirements such as program testability, maintainability, ease of use, performance, and security.

Software errors (failure, fault, bugs) are usually due to a programmer's failure to cause the output of the software to fail to the expected requirements. However, not all program errors cause software output to be inconsistent with expectations. For example, a code that will never be called contains a program error. There is also a program error is caused by changes in the operating environment, such as you replace the hardware, operating system and so on.

Combined input

Software testing is not possible to test all possible inputs, so it is necessary to have a selective combination of inputs. This allows the user to use as few test cases as possible to expand the coverage of the test. The common input combinations are boundary value method, equivalence class method, decision table method, causality diagram and so on.

Economic factors

It is also easy to see from the chart that the sooner a flaw or error is discovered, the less expensive it is to fix it. Conversely, the later the discovery, the greater the cost.

Cost to fix a defect

Time detected

Requirements

Architecture

Construction

System Test

Post-release

Time introduced

Requirements

1x

3x

5–10x

10x

10–100x

Architecture

1x

10x

15x

25–100x

Construction

1x

10x

10–25x

Test personnel

Before the 80 's, testers were collectively referred to as software Testers (software tester), and later had a finer division of labor. such as Test Manager, test leader, Test Designer, tester, Automation tester, Test Manager.

Historical stage

    • 1956 and before: debugging-oriented testing
    • 1957-1978: proof-oriented testing
    • 1979-1982: destruction-oriented testing
    • 1983-1987: Evaluation-oriented testing
    • 1988-Now: test for prevention

Test the workpiece

A piece of work (product) that is produced in a software test project.

    1. Test plan: Test Manual.
    2. Document Tracking table: records the changes in the document during the test. Also do version control with
    3. Test Case: A process designed to test a specific transaction as required. Contains the input and expected output. Complex test cases may contain multiple branches, which can be entered according to different preconditions, resulting in different results.
    4. Test script: A test script created from a test case, using an automated tool, used primarily for regression testing.
    5. Test group: A set of test cases. such as a test case for a module.
    6. Test data
    7. Test tools

Software testing What you need to know (a) overview

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.