The summary of software testing

Source: Internet
Author: User

"Software Test"Ron Patton .

This book is a comprehensive introduction to the fundamentals of software testing, that is to read the book on software testing has a certain understanding, help me find a software testing work. In this process there are also some questions, here is mainly for self-study software testing since the understanding of the software to understand a little summary, and I do not understand the place to comb again.

What exactly does a software test engineer want to do?

The book gives a relatively complete answer: the goal of the software tester is to identify software defects as early as possible and to ensure that they are repaired.

During the interview, the interviewer told me that it was not to find bugs, but to help developers improve their products. Make sense, and then more agree with a forget where to see the saying: Software testing has the following two content. (probably means the following)

1) Verify that the required functionality of the requirements analysis document is complete.

2) Verify that the product is in line with the end user experience.

Second, the software development life cycle model

4 most common patterns

1. Big Bang Mode

Simple. There are few plans, schedules, and formal development processes, all of which are spent on developing software and writing code. Try to avoid testing in this mode.

2, side write edge change mode

Due to the lack of planning and documentation of the opening opportunity, the project team was able to produce urea. As a result, the edge-write side-change mode is ideal for small items that are intended to be made quickly and run out, such as prototype prototypes and demo programs.

3. Waterfall mode

Emphasize three points:

1, waterfall mode very emphasis on product definition

2, Waterfall mode each step is discrete, no cross.

3, Waterfall mode can not backtrack, once entered a step, it is necessary to complete the task of the step, to continue downward.

4, Spiral mode (a bit contains the above three modes)

The general idea of Spiral mode is that you don't have to define all the details at first. From a small start, define important features, try to implement these functions, receive customer feedback, and then move on to the next phase. Repeat the process until you get the final product.

Spiral mode each cycle consists of 6 steps:1) identify objectives, options and constraints;2) identify and mitigate risks;3 ) to assess the options; 4 ) Current phase development and testing; 5 ) plan the next phase; 6 ) Determine the approach to the next stage.

5, some companies adopt the model: Agile Software Development, rapid prototyping, extreme programming, evolutionary development and so on.

Third, the way of testing

1. Black box test (functional test)

2. White box test (access code, able to view and review)

can also be divided into:

1. Static Test--------------Test and audit

2. Dynamic testing--testing in the usual sense, i.e. using and running the software

In combination, the following test methods appear:

1. Static black box test--Test the product manual and find out the problem before the software is written (find out the fundamental problem)

2. Dynamic black box test--the method of testing the software without delving into the code details.

The method of dynamic black box test test case

1) equivalence class partitioning

2) Boundary value Analysis

3) data test

4) Status test

Failed status test

(1) competitive conditions testing and timing disorders

(2) Repeat test-whether there is a memory leak

Stress testing--limiting the software as much as necessary

Load test – Try to provide the conditions for it to play

5) passing tests and failure tests

Failure testing--a test case designed and executed purely to destroy software

Others: Do things like clumsy users, look for bugs where they've been found, think like hackers, experience, intuition, and hunches.

3. Static White-box test-check the details of the code through formal review and inspection

The process of identifying software defects, sometimes referred to as structured analysis, by carefully reviewing software design, architecture, and code in a structured manner without executing software

1) Formal review-the process of static white-box testing.

4 Basic elements for identifying issues, complying with rules, preparing and preparing reports .

(1) Peer review-the simplest, lowest-demanding

(2) walk-through-a more formalized next step than a colleague's review

(3) Inspection-the most formal type of review. The speaker is not the original programmer.

2) General Code Review Checklist

(1) Data reference error

(2) Data declaration error

(3) Calculation error

(4) Comparison error

(5) Control process error

(6) Sub-program parameter error

(7) Input / output error

(8) Other checks

4. Dynamic White-Box testing-use the information that is available to see what the code does and how it is implemented (how to do it) to determine what needs to be tested, what does not, and how to conduct the test. (also called structural Test Structural Testing)

Test Case methods:

1) sub-test

(1) Unit Test (module test)

(2) Integration testing

(3) System test

The above three incremental tests have two paths: bottom-up (bottom-up) and top-down (top-down)

The bottom-up test is to write a test-driven module that invokes the module being tested.

Top-up testing is a bit like a small-scale big bang test. (Write a small piece of code called stub to act as an interface module.) )

2) Data coverage

Data flow, sub-boundaries, equations and formulas, error enforcement

3) Code Overlay

Program statements and line of code overrides

Branch Overrides

Conditional override

It is often referred to as dynamic when there is no specified dynamic static.

Iv. Other Testing techniques

Configuration test

Compatibility test

Foreign Language Testing

Ease of Use testing

Document testing

Software security Testing

Website testing

V. Supplement to the Test

Automated testing, bug bombing,Beta Testing (common process for others to verify and confirm software)

Performance testing, special testing

Vi. Test Documentation

Test plan == "Testdesign Note = =" Test Case description = ="Test procedure Description

Some typical questions:

1.Q: What are the main stages of software testing?

For:

and the development process, the test process will go through unit testing, integration testing, system testing, acceptance testing four major stages.

Unit Testing: Unit testing is a test of correctness for software-designed units – program modules and even code snippets, usually done by developers.

Integration testing: Integration testing is the assembly of modules in accordance with the design requirements for testing, the main purpose is to identify interface-related issues. Because the product development team has to perform joint debugging before the product is submitted to the testing department, integration testing is done by the developer in most enterprises.

System test: The system test is carried out after the integration test, the purpose is to fully run the system, verify that each subsystem can work properly and complete the design requirements. It is mainly carried out by the testing department and is the largest and most important test of the testing department, which has a significant impact on the quality of the product.

Acceptance Test: Acceptance testing in the requirements phase of the "Requirements Specification" as the acceptance criteria, testing requirements to simulate the actual user's operating environment. For the actual project can be carried out together with the customer, for the product is the last system test. Test content is a comprehensive test of the functional modules, especially for documentation testing.

2. The professional quality that the Software Test engineer should have

In addition to "professional skills, industry knowledge", excellent test engineers must have the corresponding communication skills, organizational skills, practical skills and positive attitude. In addition, there should be some basic personal qualities: Focus, carefulness, patience, responsibility and self-confidence "five hearts"

3, software testing career development direction

The summary of software testing

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.