当前位置:网站首页>How to do agile testing in automated testing?
How to do agile testing in automated testing?
2022-07-06 15:12:00 【Test Xiaowan】
Catalog
Two 、 Unreasonable expectations
3、 ... and 、 Lack of attention to Automation
Four 、 Make automation part of agile development
1、 Set reasonable expectations
2、 Think of automated testing as software development
3、 Allocate dedicated resources for Automation
One 、 Preface
In order to keep up with the shortening release cycle due to agile software development , Many development teams have adopted the method of automated testing , So as to continuously ensure that each software version meets the required quality level .
This is an important transformation of traditional software development practice : Testing is often stuck at the end of the development process , It is regarded as the burden of the test process , It's not a benefit .
therefore , One is using agile software development , Turn into DevOps Culture and adopt continuous integration and continuous delivery of testers working in the organization , You must have a basic understanding of how to effectively implement the daily activity of Test Automation .
Unfortunately , Many test automation tools in agile software development have failed , Or not maximizing their potential .
I want to explore the two most important reasons why I think test automation cannot meet the expectations of testers and other stakeholders in agile software development .
then , Let's take a look at the strategies and means to avoid falling into these traps , To facilitate the successful implementation of test automation in an agile environment .
Two 、 Unreasonable expectations
I see that one of the two main reasons why so many automation works fail to meet expectations is the unreasonable expectations before implementation .
Too many team leaders , Development and project manager , as well as C Level management ( Other people are not completely irrelevant ) Both regard test automation as a one-stop solution to all test bottlenecks .
However , Implementation has repeatedly shown :
- Implementing automated testing takes time 、 Energy and specific skills ;
- Automation is an activity that helps testers , Instead of replacing testers ;
- Not every test activity can be automated .
However , Automated testing is still widely believed to work in some magical way , Press the button to perform all the required tests for you .
After several months of efforts to build and run the test , Such a concept becomes an illusion . Testers who are busy with automated testing often become scapegoats , Sometimes even get fired .
in my opinion , The best way for testers and automation engineers to solve this problem is to think and communicate before testing .
Make sure that all stakeholders have the same level of automation expectations as you . Refer to previous efforts within the organization and more software testing and development communities , Learn from these experiences .
How to test , What may lead to failure ? Don't expect automation to be the panacea for all testing problems .
3、 ... and 、 Lack of attention to Automation
Another major reason for automation failure is because of the development team ( And larger organizations ) Lack of time to create usable 、 The stability of the 、 Effective automation solutions .
As we all know , Automation takes time and effort , But when time becomes tight , Automation is still the first thing affected .
This applies to projects , But it also applies to teams working in agile environments .
Although automation is the most desirable thing for many software development teams , But when it comes to the end , Delivery functions almost always take precedence over Automation .
It should be noted that , I don't think it must be a bad thing . After all, the final product released is a function available to users , Not those automated test cases that ensure the correct operation of functions .
However, in the long run , The team gives top priority to the function of releasing products , At the same time, the formulation of release date is iterated again and again , They have been extremely busy , Incisive efforts .
They seem to have forgotten that the purpose of adopting agile working method is to release the functions available to users in a small growth way , And get instant feedback from users , Instead of just pursuing speed , Hasty release function .
Not allowing enough time to create reliable automation solutions will also have unnecessary side effects :
If you don't give automation the priority it deserves ( And may not be the top priority ), Then your team members are unlikely to have enough time to become skilled automation engineers .
I regard automation as a craft , Similar to other crafts , It needs to constantly learn and hone your skills .
Four 、 Make automation part of agile development
Now that we have talked about two main reasons for the failure of Automation .
I want to propose a distribution guide to help you avoid these pitfalls , And successfully realize automation as a part of software development activities .
This is not an authoritative guide , Maybe not all the steps are applicable to your situation . But following these steps may help you succeed in agile Automation .
1、 Set reasonable expectations
As I said before , The success of any automation begins with reasonable expectations . I find asking questions and reaching consensus on this issue is a good way to set reasonable expectations . Why should we automate first ? Why do we think we need automated testing ?
in my opinion , There is a good answer to this question “ Because we hope to get feedback from developers at the first time ”, and “ Because we don't want to test manually ” Is a major example of the source of unreasonable expectations .
2、 Think of automated testing as software development
Ensure that all interested parties are aware that the introduction of automated testing is basically equivalent to the introduction of another software development project in the current project .
The implementation of automated testing as a project needs to consider the plan of the project and its technical implementation ( You should allocate resources and allow time to develop and maintain automation, and so on ), ditto ( You write code , Therefore, make sure to ensure good development mode and practice , And respect that automated testing is a craft that requires specific skills ).
3、 Allocate dedicated resources for Automation
In order to successfully implement automated testing in agile software development , You need to ensure that all people responsible for creating and maintaining automation have the right skills , And have enough time to complete .
The number of automated testers in the current project depends on many factors , This includes the technical ability of the testers , What kind of automated testing is needed , And the complexity and risk of the application under test .
If your team currently does not employ enough people to meet your automation needs , Or the team members lack the necessary experience , Then temporary external experts are also a choice worth considering .
4、 Choose a starting point
Where to start implementing automated testing , It seems to be a very difficult problem , Just like facing any major project, it is difficult to choose .
Regarding this , I have two suggestions :
- You can start with some simple and easy functions , Or focus on some high-risk items and major defects in the current application ( This helps to show stakeholders the added value of automated testing as soon as possible .
- Try to avoid using end-to-end automated testing , For example, using Selenium.
Although when you want to write automated regression tests , This seems to be a very direct choice , But this type of test is the hardest to write , Slowest execution , The easiest to fail , The reason for the failure may be the change of the application interface to be tested , It may also be used for synchronization in the deployment process , Or environmental factors ( For example, test data ).
contrary , You should also focus on whether you can create reliable unit tests .
Make automation what you define “ complete ”
When you work in agile settings , Take automated testing as what you call “ complete ” Some of the specified features are meaningful .
For all that , Try to avoid the following two traps : Including things like “ All tests should be automated ”, or “ We should automate every project we provide ” Statements like this sometimes make no sense , Instead, it is more cumbersome , Even impossible .
In other words , Valid definitions such as “ Update existing automated scripts to cope with changes in current functionality ” or ” If the development team deems it necessary , Create additional automated test cases ”.
Based on percentage —“ 100% code coverage ” It's empty talk , This sentence completely fails to explain the quality and relevance of the test . Again ,“80% The test of has been automated ” It doesn't make sense .
First , This is based on the one-to-one transformation performed by automated tests , This approach has repeatedly proved ineffective . But more importantly , How did you first define 80%,80% Can the automation of be performed by all tests ? I think you can see what I mean .
5、 Learn and adjust
You shouldn't be surprised about this : Automated testing is a software development activity , When you work in an agile way , Apply quick feedback , It is necessary to evaluate and learn quickly .
The implementation of automation is not achieved overnight . Just like the application you are testing , Take time to experiment , Evaluate as soon as possible , Learn from your mistakes , And insist on using effective methods . Over time , Keep accumulating , The automation method is closely related to your software development work . Please note that , The situation is different , Effective methods for one organization may not also apply to other organizations . That being the case , I believe the above content can help most teams who are trying to carry out effective testing . That's why , Automation is seen as a means to improve agile testing .
边栏推荐
- How to transform functional testing into automated testing?
- The minimum number of operations to convert strings in leetcode simple problem
- Practical cases, hand-in-hand teaching you to build e-commerce user portraits | with code
- CSAPP Shell Lab 实验报告
- Threads and thread pools
- Mysql的事务
- UCORE lab1 system software startup process experimental report
- Fundamentals of digital circuits (I) number system and code system
- Don't you even look at such a detailed and comprehensive written software test question?
- ucore lab6 调度器 实验报告
猜你喜欢
Quaternion -- basic concepts (Reprint)
150 common interview questions for software testing in large factories. Serious thinking is very valuable for your interview
Servlet
自动化测试中敏捷测试怎么做?
自动化测试你必须要弄懂的问题,精品总结
Maximum nesting depth of parentheses in leetcode simple questions
The latest query tracks the express logistics and analyzes the method of delivery timeliness
[200 opencv routines] 98 Statistical sorting filter
How to transform functional testing into automated testing?
The common methods of servlet context, session and request objects and the scope of storing data in servlet.
随机推荐
Login the system in the background, connect the database with JDBC, and do small case exercises
全网最详细的postman接口测试教程,一篇文章满足你
安全测试入门介绍
Global and Chinese market of maleic acid modified rosin esters 2022-2028: Research Report on technology, participants, trends, market size and share
Four methods of exchanging the values of a and B
ByteDance ten years of experience, old bird, took more than half a year to sort out the software test interview questions
Heap, stack, queue
[Ogg III] daily operation and maintenance: clean up archive logs, register Ogg process services, and regularly back up databases
Wang Shuang's detailed notes on assembly language learning I: basic knowledge
Global and Chinese market of DVD recorders 2022-2028: Research Report on technology, participants, trends, market size and share
Brief description of compiler optimization level
基于485总线的评分系统双机实验报告
ucore lab2 物理内存管理 实验报告
Wang Shuang's detailed learning notes of assembly language II: registers
线程及线程池
Global and Chinese markets for complex programmable logic devices 2022-2028: Research Report on technology, participants, trends, market size and share
遇到程序员不修改bug时怎么办?我教你
Vysor uses WiFi wireless connection for screen projection_ Operate the mobile phone on the computer_ Wireless debugging -- uniapp native development 008
Keil5 MDK's formatting code tool and adding shortcuts
About the garbled code problem of superstar script