Software development full process detection and software test automation (reposted)

xiaoxiao2021-03-06  40

First talk about software testing. This can be said to be a very exciting area.

"

How should I test our products?

"

with

"

How can I have enough testing for the product?

"

Waiting for problems, for different types of products of different enterprises, different types of products of the same enterprise, or the same type of products of different enterprises, actually have a big difference.

SEI

of

SW-CMM

Level 3 in its maturity

"

Software product engineering

"

In the key process area, testing different phases in software development cycles as key practices in implementing activities. (in

SW-CMM

version

2.0

During the discussion, there has been a proposal that sets a key process domain at the second level of maturity.

"

Software test management

"

. But in the version

2.0

Discussion draft

C

There is no doing this. From here we can also see that

SW-CMM

It is also a person-oriented

"

software

"

. )

Generally, the tests performed on different objects based on different stages in the development cycle are divided into:

unit test(

Unit test

):

The programmed developer is planned and completed, tested for single or associated set of program units.

Assembly test (

INEGRATION TEST

):

It is planned to be completed by developers and testers, and testing for different units and their interfaces.

System test(

System test

(Can be considered

"

Availability and graphical user interface test

"

)

Tested the entire system to confirm the characteristics of the function, quality, and performance as required.

Regression Testing(

Regression Test

):

Systems for verifying changes or their components remain should remain.

Acceptance Test(

Acceptance test

):

Test the entire system to ensure that it can deliver the status that can be delivered.

About the specific content and implementation of the test of the above stages, readers can refer to

SW-CMM

And books on software engineering and software testing. Don't stay in the reference

SW-CMM

, Because the file only tells what to do, but not to introduce how to do it. At the same time, all information discusses and methods are generally generalized. For a particular software test, it is necessary to vary and improve the use of the user to improve and improve the efficiency.

Here, talk about some of the other aspects of software testing.

An ignored software test purpose

Many authors are quoted when taking testing

Grenford J. MYERS

The following perspectives submitted to the software test:

1.

Test is the execution process of the program, the purpose is to discover errors;

2.

A good test case is that it can discover unrecognized errors so far;

3.

A successful test is to discover the error testing of the undisprudently found.

This is a relatively narrow view. As a sober, looking at the global software developer or manager, we should test from the perspective of the software process.

An ignored software test is: Test can help find the software process used in current development work (also one

"

software

"

Defects for improvements. (In the following discussion,

"

error

"

versus

"

defect

"

Basically, it is considered to represent the same meaning. )

How to understand this?

First, the test is not just to find out the error. Analysis of the causes of errors and errors are of great significance in which phase developed.

By analyzing the cause of the error, we can correct it in development actions. At the same time, this analysis can help us in reasoning potential errors associated with the analyzed errors, thereby targeting the methods of detection. By analyzing which development phase is generated on, while which phase is discovered, we can judge how many development phases have spanning from the incorrect discovery. An important principle of software development is to discover and correct errors as soon as possible. (Of course, a higher principle is to prevent the occurrence of mistakes.) An error can surpass this development stage without discovery, indicating that the detection method of the development phase is defective, and it is not difficult to determine it. Strengthening measures and methods. This is an important part of the software process improvement. If you find and correct errors at the same development phase, the development organization can expect a high quality product and a low-cost, high-efficiency software process.

Some projects' hosts believe that all the development phases prior to the test were completed as soon as possible (actual and not completed), start testing as soon as possible to achieve fast and high quality (because there seems to have a longer time available for test). The actual effect will be said by the saying

"

No want

"

. From common sense, you can know that the development time will continue to expand the income introduced in the previous stage, and it can only be a more large amount of error that takes time consuming.

Therefore, the results of correctly analyzing and utilizing tests, we can improve software process very efficiently.

Software development process detection, strive to correct this phase correction error

From the above discussion, we can naturally understand that the discovery of software errors must never wait until the test begins (according to regular, the earliest test is the encoded unit test). Therefore, the author puts forward a code of software engineering: software development whole process detection, strive to correct errors in this stage. Unit testing is developed in software

"

Implementation

"

I started, before this

"

Feasibility research and planning phase

"

,

"

Demand analysis phase

"

,

"

Summary design phase

"

,with

"

Detailed design phase

"

It must have a very clear and practical means and measures to test the development results to ensure the correct completion of the stage.

How to judge the advantages and disadvantages of a software process, how to improve software process can be carried out under this guidance of this code. This code is simple and clear, but due to the different corporate background, the conditions are different, the implementation of the project products, the implementation method of the actual software process will change. When considering the method of achieving this principle, you can use more theoretical and experience, but when choosing the software processes used in the development of the company, you must have benefits according to whether it can give your own project. The conditions are considered. Don't just satisfy some

"

standard

"

The proposal does not do some work without practical meaning. To avoid cumbersome, striving for simple, organizing and having the greatest effect.

Software test automation

Software test works great (according to statistics, it will be used

40%

Development time; some reliability requirements are very high, the test time does even account for the total development time

60%

But the test is a work that is very likely to apply a computer throughout the software. The reason is that many of the tests are repeated, non-intellectual, demand for fine work. Computers are best suited to replace humans to complete these tasks. In this regard, companies will have a very obvious effect on the quality, cost, and cycle of the entire development.

Some test operations suitable for consideration of automation are:

1.

Test case generation (including test input, standard output, test operation instruction, etc.).

2.

Perform write control (including single-machine and network multi-machine distribution; night and holiday operation. Test case call control; test object, range, version control, etc.). 3. The test results are compared with the standard output. 4. Analysis, record, classification, and notification of the test results of the non-anastomotive test. 5. Statistics of the total test status, the generation of reports. Test automation and software configuration management are unsualed. Resources related to tests should be considered in configuring management. In addition, the adoption of the test tool is also the key to improve quality, and some dedicated test tools can help find some errors that use any test cases.

转载请注明原文地址:https://www.9cbs.com/read-64585.html

New Post(0)