When we talk about continuous testing, and with it continuous delivery and DevOps, the term automation gets thrown around a lot. In a basic sense, we all understand what automation means — the use of some technology to complete a task. But when we talk about automation in terms of continuous testing, there are some nuances that we need to take into account.
This table-based example doesn't include if statements or for loops, and the %% sign indicates a variable that can be passed in or assigned. In the past, I have created accounts and users with a standard name, followed by a time stamp, to ensure that the users were unique for each test run. Individual functions, like search_for, followed by what to search and what to expect in the results, consist of code. Those might have if statements or loops in them, but what we expose to the customer is a straight flow.
But if the company had one shared test environment where changes needed to be negotiated through change control, that might not actually save any time. We'd have a big, fat bottleneck in front of testing. As Tanya Kravtsov pointed out recently in her presentation at TestBash New York, automating the thing that is not the bottleneck creates the illusion of speed but does not actually improve speed.
Continuous testing is the process of executing automated tests as part of the software delivery pipeline to obtain immediate feedback on the business risks associated with a software release candidate. For Continuous Testing, the scope of testing extends from validating bottom-up requirements or user stories to assessing the system requirements associated with overarching business goals.
Selenium is possibly the most popular open-source test automation framework for Web applications. Being originated in the 2000s and evolved over a decade, Selenium has been an automation framework of choice for Web automation testers, especially for those who possess advanced programming and scripting skills. Selenium has become a core framework for other open-source test automation tools such as Katalon Studio, Watir, Protractor, and Robot Framework.