How to do automated testing? Summary of automated testing by an 8-year test veteran, the most comprehensive in history...


Preface

1. Why do automated testing?

Reduce testing effort and verify software quality faster and more cost-effectively. Build better quality software with less work.

2. How do you start by joining a team with automated testing?

Familiar with the existing testing framework;
understand the core testing tasks;
based on work content and needs, combine the framework to achieve output;

3. How to build a testing framework from scratch

Understand the specific situation and needs of the current company;
choose the appropriate system to build the demo according to the current situation;
run the demo and start production;
optimize and adjust to form a stable testing framework;
share and promote the framework;
combine with the application in the actual promotion process, Continuous optimization;

4. Technologies you need to learn for automated testing

Automated testing framework: selenium, appium, requests;
design mode: keyword-driven mode, POM mode;
data-driven test (DDT: data driver test);
data-driven: extract, save, manage, and improve all data in the test process The stability of the framework
The essence of data-driven is files [Excel, Yaml, Json, Py files]

Test case management framework: unittest, pytest;
test report output: HtmlTestRunner, Allure;
configuration management: logging (Logging, loguru), code management (Git, SVN), continuous integration (Jenkins), environment (OS, DB, Server).

Optimization: Concurrency of test cases: how to process multi-tasks concurrently and realize the reading and execution of test cases asynchronously.
For example, the test framework is designed in a distributed manner, such as master-slave high availability, and test tasks are distributed through routing under multiple nodes. The test cases are executed by the sub-nodes, and the test results are finally integrated into the master node.

5. How to carry out automated testing work

Organize a functional module that can be automated based on the business characteristics of the product;
specify an automated test plan based on priority and personnel status;
select appropriate use cases from functional use cases to convert into automated use cases;
conduct testing based on business background and current personnel status Selection of test framework;
script development for automated testing;
formulating automated execution plans based on the project;
analysis of test reporting work, and reporting, follow-up and post-maintenance of automated testing results;

6. Introduction to POM for the automation framework of APPUI and WebUI

The design patterns of automated testing frameworks generally include keyword-driven and POM models.

POM (Page Object Module) automated testing framework
Page Object Model, the core testing framework in web and APPUI, is recognized as the best model in the industry.
The development of automated testing in the industry: from behavior-driven to page-driven

The POM process
takes the pages associated with the process as objects and connects the objects together to form different processes, with each different behavior corresponding to each page.

POM implementation - layered processing
Structural design:
Logic code: implements all tool function encapsulation, similar to keyword-driven design model. [Base class]
Page object: Based on the system page, the corresponding page object is generated, and business operations are implemented by calling tool functions. [Page object class]
Test code: Based on test needs, build page objects to implement automated test case execution of the core process. [Test case]
Test data: preparation of response test data, Excel, Yaml, Json, CVS, Py files

Extract system pages;
implement coding based on structural design and page business needs;

7. Combine with POM to build a complete testing framework

POM system + log + configuration management + test report + continuous integration + email

8. Supporting automated testing framework

Interface automated testing direction: Python+requests+pytest+yaml+alluer+Jenkins;
web automated testing direction: Python+selenium4+pytest+POM+allure+Jenkins;
app automated testing direction: Python+appium+POM+pytest+allure+Jenkins ;

The following is the most comprehensive software testing engineer learning knowledge architecture system diagram in 2023 that I compiled.

1. Python programming from entry to proficiency

Please add image description

2. Practical implementation of interface automation projects

Please add image description

3. Web automation project actual combat

Please add image description

4. Practical implementation of App automation project

Please add image description

5. Resumes of first-tier manufacturers

Please add image description

6. Test and develop DevOps system

Please add image description

7. Commonly used automated testing tools

Please add image description

8. JMeter performance test

Please add image description

9. Summary (little surprise at the end)

Dreaming, crossing boundaries, and struggling are the journey to pursue excellence. Don't be afraid of difficulties and move forward bravely. Only by hard work can the glory of life bloom. Believe in yourself, keep chasing, and write your own masterpiece! Work hard, create something extraordinary, and shine your light in the struggle!

Dreams are ignited, pursuit of excellence and struggle are the journey to create brilliance. Overcome difficulties and transcend limits. Only by hard work can the magnificence of life bloom. Stick to your faith, move forward bravely, and compose your own song that will be passed down from generation to generation! Don’t stop, break through the sky, and bloom endless light in the struggle!

The steps are firm and the heart is unyielding. Struggle is the journey to pursue your dreams. Forge ahead without fear of challenges. Only by hard work can the glory of life bloom. Believe in yourself, bravely venture into it, and write your own wonderful legend!

Guess you like

Origin blog.csdn.net/m0_60054525/article/details/132105540