2020 is approaching, in order to help you better define next year's KPI indicators, plan next year's test improvement or investment plan, and donate your thoughts and conclusions for more than a year for free:
The future development trend of software testing is summarized as "six modernizations"
1. Agile
The introduction of processes such as Agile and DevOps, especially
- Shift testing to the left, strengthen requirements review and design review, and implement ATDD/BDD
- Test-driven design, from past hardware design for test to test driven design
- Let development do more testing, at least do a good job of unit testing, API testing and code review
The test is moved to the right, and online testing (including performance, security, usability, reliability), log/data analysis is carried out, and the product is improved in turn.
reference:
- How to prevent "testing" from becoming a stumbling block to agile?
- "White Paper on Testing Agility" was released (download link attached)
- In agile mode, how to build team testing capabilities?
2. Highly automated
Improve automated testing technology, including the establishment and optimization of automated frameworks, and test tool development, so that automation can be ubiquitous, throughout the entire testing process, and cover all aspects of testing.
reference:
- One of Gartner's Top 10 Technology Trends for 2020: Hyperautomation
- Decrypting POM: The correct posture to improve the stability and development efficiency of automation scripts
- Which automated testing framework is the strongest?
- The big coffee publicly shared its more than ten years of automated testing experience for the first time!
3. Cloudification
The test infrastructure adopts today's virtual machine and container technology, which not only makes the test environment easier to maintain and the system to deploy, thus better supporting automated testing, but also can be better integrated and collect more R&D data , to better support the following services and intelligence.
4. Servitization
Let software testing become a service (Test as a Service, TaaS). Simply put, all testing capabilities can be realized through APIs, and a testing platform can be built . Any developer can automatically obtain testing capabilities on demand. Happy to do more testing too.
reference:
- Servicing Test PankHuri Mishra
- Practice of the whole process of microservice testing and mirroring testing
- DOIS2019 conference, Tencent DevOps test platform exploration!
(Tencent WeTest's test platform service)
5. Modeling
Model-based testing is more effective and accurate, and testing can be completely automated. In the past, what people often referred to as automated testing was only semi-automated—the automation of test execution. Thorough automation means that test data and test scripts are automatically generated.
reference:
- MBT Exploration Series - Application and Exploration of PRE/POST Model to Test MBT in Network Interface
- Model-based automated testing tool - GraphWalker
- What exactly is Model Checking?
6. Intelligent
Today, the Internet, storage capabilities, technical capabilities, and big data once again push AI into the third wave. AI can serve other industries, and it can naturally serve testing, and on the basis of the above-mentioned automation, cloudification, service, and modeling , AI can play a better role, including automatic generation of test data, autonomous control of software, intelligent analysis of defects and logs, optimized test analysis and design, etc.
- Level 0: No autonomy:Nobody's helping you write that automation code. And writing the code itself is repetitive
- Level 1: Drive assistance:AI can check the visual aspects of the application against a baseline, but the people still need to verify every change
- Level 2: Partial automation:AI helps you check changes against baseline and turns what was a tedious effort into a simple one.
- Level 3: Conditional automation:AI will autonomously determine that this is a bug
- Level 4: High automation:AI can run checks automatically and drive the test itself, for example, can look at user interactions over time, visualizing the interactions, and understand the pages and the flow through reinforcement learning
- Level 5: Full automation:(science fiction) AI would be able to converse with the product manager, understand the application, and fully drive the tests by itself
reference:
- AI technology helps software testing to achieve "integration of quality and efficiency"
- How to use AI in Appium?
- The future has come, artificial intelligence testing is unstoppable: introduce 9 AI testing tools
- AI Testing: Making Software Testing Smarter (Part 2)
Finally, give away two articles