"Automation Testing Best Practices" Lecture Summary

"Automation Testing Best Practices" Lecture Summary

From November 26th to 27th, 2016, I participated in a two-day automation testing best practice. The lecturer is the industry leader Lu Hongjie . He worked at Microsoft for 5 years and then Photoshop for 5 years.

Automated testing is a very important part of software engineering, so this course covers a lot of other aspects of project management. Here I summarize some of the content.

 

0. Why do test automation (Why)

Test automation is for continuous integration. The continuous integration is to find and solve software defects earlier, and generate project data reports (Dashboard). These are all for better project management.



 

1. What can automated testing do (What)

1.1 What can automated testing do

Automated testing is for defect prevention .



 

# Why not "find" bugs with automated tests?

Because the bug has an attribute - "version number" (eg: 2.1.0). The automated test is mainly to check whether there are defects before submitting the code, and the version has not been generated at this time.

(Think about whether there is an attribute such as version number when you create a bug record using a defect management system (such as Bugzilla) at ordinary times.)

 

1.2 Application of automated testing in system testing

System testing is a complex and time-consuming organizational activity . It has several features:

a. It requires a lot of preparatory work, such as setting up a test environment (to imitate the real user environment as much as possible)

b. It requires the participation of all members of the project team to play various roles in the real environment

c. Because of the high cost, in order to make full use of these input costs, saturated test tasks are generally arranged (slightly overflowing the maximum workload, and certainly not all can be completed)

The purpose of automated testing determines that it should be suitable for short and fast test cases, not for long and complex scenarios. Therefore, automated testing is not suitable for large-scale application of system testing. Generally, in system testing, automation technology can be used for the preparation of test environment and test data, as well as for the development of small tools for repetitive and time-consuming work. The main process of system testing is still controlled manually.

 

1.3 The relationship between manual testing and automated testing

Manual testing is the source of demand for automated testing, and new requirements are put forward for automated testing. At the same time, automated testing will replace simple and repetitive labor, and promote the development of manual testing in a comprehensive value-oriented direction.



 

2. How to carry out automated testing

2.1 How to implement test automation

There is no silver bullet. No one tool, commercial or open source, can meet the needs of a specific project. Because the program under test can only be controlled if the tool itself is fully controlled . All automation tools have to be written by yourself.

# How to manipulate the system under test?

The test program runs in the same process as the program under test and directly controls the behavior of the program under test.

Automation that simulates mouse and keyboard operations is too costly, difficult to maintain, and unsustainable.

 
 

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326162943&siteId=291194637