Writing Your Automation Strategy

Writing Your Automation Strategy

Developing an Automation Strategy is the most important yet often overlooked steps in Automating Tests. This asset will allow you to unify stakeholders as well as develop your roadmap while encouraging the right questions.?Here are the key questions:

  • What do you want to automate?
  • Why do you want to automate?
  • How do you automate the tests you’ve chosen?

What do you want to automate?

Test automation is a tool. It is great that you can use automation for a variety of purposes, including software testing. Software Testing utilizes a variety of different tools, practices, and methods. You can’t simply replace all of that with automation just like you can’t simply replace a developer with automation. It is important to define specifically what you are trying to automate.

Automated Acceptance Tests? Do you want to have an automated test for EVERY functional acceptance Test and verify every detail of functionality you ever verified and make sure still works as expected?? This isn’t practical or realistic. It affects performance and maintenance. Also, you can’t automate all types of tests such as accessibility, UI verification (images, look and feel), or exploratory testing.

Automated Regression Tests? If you automate some functional acceptance tests as you complete stories they can be added to a regression test suite and executed on a schedule of your choosing. In this case, you can have a subset of tests and continually regression test the basic functionality of an application.

Automated Smoke Test? If you automate a subset of tests you can measure the general status of a new build or environment.

Why do you want to automate?

Some reasons to automate a task are to save time and money. Efficient repeatability is also a good reason. Test Automation is not free. These are the costs to consider when implementing test automation and making decisions in your strategy. Factors to consider:

  • Labor Time (Capacity impact)
  • Training
  • Software and licensing
  • Monitoring and troubleshooting The tests as well as the system.
  • Maintenance. You have to improve the system as it grows.
  • Performance. Cost on execution. How long? What environments?

It is important to evaluate the cost with all of the above in mind whenever choosing a test automation tool. The more complex the system is, the more expensive it is to build, grow, and maintain. Remember! Just because you have automated a test, does not mean it is a good test! Just because you have coded some functionality, does not mean it is good code! Asking these questions and having thoughtful conversations could potentially save you and your company months and millions of dollars before jumping into an epic journey of fully automating your regression test library.

How do you automate the tests you’ve chosen?

Do you pick a Tool and start to automate? or do you decide what to automate and pick a tool? There are several common types of automated tests to consider.? Let’s look at some taxonomy and test definitions to understand the full scope of testing.

Taxonomy of Testing Terms

UI Tests

UI Tests can be used to verify user interaction with a User Interface. This can be time-consuming and complicated.

API Test

API tests can be used to easily verify API endpoints. Just as the API is efficient, the tests are also smaller sized and more efficient. This is efficient Regression Testing as APIs generally do not change as much as an interface.

Integration Tests

Integration Tests might combine all of the above depending on the system. UI, API, ETL, File processing, etc. Testing multiple integration points within a system.

E2E Tests(End to End)

Test the flow of the entire system or product to verify functionality. This may tie together several Integration Tests.

Test Matrix

A matrix can help you target your testing activities and testing types so that you can choose methods and implement automation while seeing coverage. An example:


Integration UI Tests

Integration tests are a combination of existing workflows (Integration test cases) for legacy features and New Feature tests (Integration Tests)

One challenge with long integration UI tests is that they touch so many parts of your system. Long end-to-end tests are not desirable.? They can be flaky and mask isolated failures.

Whenever possible you should break long tests into smaller pieces to isolate Applications and components in your system.

Next Steps

While the idea of clicking a button and having “Testing” done automatically is exciting, you can see there is a lot of scope to consider. Software Testers use many perspectives and skills to help ensure the quality of an entire product. This happens through design, implementation, and testing. Automating Tests are a fantastic tool to prevent unexpected regression bugs and save time. But rushing into it without a clear strategy can waste a lot of resources.

要查看或添加评论,请登录

Rich Bean的更多文章

  • 1 User Story – 1 Test Case

    1 User Story – 1 Test Case

    You may or may not document test cases. If you use a tool like Jira or Rally, there is a place to enter Test Cases and…

社区洞察

其他会员也浏览了