Introduction and classification of automated testing. It’s enough to read this article

Time:2022-5-14

What is automated testing?

Automated testing is an important branch and component of software testing activities, that is, using tools or scripts to achieve the purpose of testing. Software testing activities with no or little manual participation are called automated testing

What are the advantages of automated testing?

  1. It is convenient for regression testing. When software versions are released frequently, the effect of automation is obvious

  2. Automatically deal with the originally cumbersome and repetitive tasks to improve the accuracy of testing and the enthusiasm of testers

  3. It has reusability and consistency, and can be run repeatedly on different versions to ensure the consistency of test contents

Classification of automated testing:

(1) Classification from the perspective of software development cycle:

  1. Unit automation test: the completion of automation tests the classes and methods in the code, mainly focusing on the details of code implementation and business logic.

  2. Interface automation test: test the request and return of the interface between system components. The interface test has high stability and is more suitable for automation.

  3. UI automation test: test the process and function of the graphical interface.

(2) Classification from the perspective of test purpose:

  1. Connections and other elements that are relatively stable and do not change frequently

  2. Automatic performance test: a nearly unattended performance test that automatically performs performance test, collects test results and analyzes test results by relying on the automation platform. It has the following characteristics:

a. Create and provide class libraries and other module support for scripts

b. You can set automated tasks (such as performing a round of performance tests every day according to specific scenarios)

c. Automatically collect and store test results

d. In process monitoring (e.g. automatic warning email function for abnormal errors during scenario execution)

e. Mature platforms can perform automatic analysis functions (such as what is wrong, what is abnormal resource consumption, etc.)

f. Safety automation test

Automatic test tool classification

UI automation

  • Selenium
  • Appium
  • Robot Framework
  • Airtest
  • Cypress

Interface automation

  • Jemeter
  • Postman
  • python+Requests
  • SoapUI
  • HttpClient

Unit test tool

  • JUnit
  • TestNG
  • unittest
  • pytest

How to choose a test framework? Here are some standards for reference:

  1. Relatively fast and easy setup (or out of the box solution)

  2. The support community or developers themselves can provide support for their framework

  3. Clear and comprehensive documentation

  4. Fully integrated with other tools

  5. There are some cool features, such as code reusability support for testing on multiple platforms and environments

Selenium

Selenium is an ecosystem covering several tools, mainly including selenium webdriver, selenium IDE and selenium grid.

Selenium’s core features are cross browser and cross platform testing, multiple testing languages (Python, Java, C, etc.), highly adjustable open source code, parallel running testing, etc.

Official website address:

https://www.selenium.dev/

Appium

Appium is cross platform and allows you to write tests for multiple platforms (IOS, Android, windows) using the same API. This enables code reuse between IOS, Android and windows test suites.

Official website address:

http://appium.io/

Cypress (automated test)

Cypress is the next generation of front and back-end testing tool based on Web. Compared with selenium, cypress underlying protocol does not use webdriver, which makes it possible to realize fast, simple and reliable testing.

Cypress supports end-to-end testing, integration testing and unit testing.

Official website address:

https://www.cypress.io/

Robot Framework

Robot framework is a function automation testing framework written in Python. It has good scalability, supports keyword driven, can test multiple types of clients or interfaces at the same time, and can carry out distributed test execution. It is mainly used for many rounds of acceptance testing and acceptance test driven development (ATDD).

Official website address:

https://robotframework.org/

Airtest


Airtest is a UI automatic test tool based on Python language and recognized by image recognition and poco control produced by Netease. It includes airtest IDE, airtest, poco, airlab and other parts. There are three class libraries: poco, image recognition and selenium. It is suitable for the automatic test of game, app, web and Windows Program projects, and can easily realize the automatic test process.

Official website address:

https://airtest.netease.com/

How to choose the test framework pytest and unittest?

[automated testing framework] how much do you know about pytest and unittest? What’s the difference? Which should I usehttps://www.cnblogs.com/upstudy/p/15921090.html