Innovating your way of testing software
Automating Software Testing with Selenium is a practical manual aimed at all professionals and companies in the systems area and who aim to improve the quality of their services and / or products in a simple, efficient and low cost way.
In this book you will find all the features that the Selenium tool offers to implement a robust automated testing environment, such as: writing / executing test scripts, exporting / importing test scripts into a test project, running testing on different platforms and browsers.
Innovate your way to test software, embarking on this incredible world of automation and see through the results how machines can facilitate your day-to-day tasks.
Also available in bookstores:
What you will learn in this book
Why automate the tests?
Thus, as in any other segment, the automation of the tests aims to improve the execution of the tests, resulting in numerous advantages such as:
Ideal for beginners in test automation
Tester in Cast IT Group
Get a free sample of the book
Subscribe to the mailing list to receive a free sample of the book.
INTRODUCTIONThe concern with the quality of software grew as the image of companies became increasingly exposed to the public through the emergence of web systems. By 1990, large companies in this industry acknowledged that billions of dollars were being wasted on softwares that lacked features and promised features. They lived that dilemma of wanting to produce the "perfect" software, but without having the time and effort required for such a feat. This led them to look for new ways to improve quality. And one of these ways was the improvement of activities related to software testing through automation. Unlike the philosophy many organizations follow, having an automated testing environment is not as costly and complex as it seems. With the widespread knowledge, today we have several open source automation tools available. With just a few clicks, it is possible to create efficient test scripts that validate the system's functionality as many times as it takes automatically. A good example of this is the use of the Selenium tool, which will be the proposal of this work.
SOFTWARE TEST INNOVATIONThe term innovate comes from the Latin in + novare, which means "to do something new, to change or to renew". For the author Sarkar (2007), refers to everything that transforms or renews something, be it a product or process, producing results for the company. The "War of Innovation" between Google and Microsoft has been a great example of the importance of innovation in IT. In recent years, Google has innovated its search engine, which holds about 60% of that market. This has earned you a great financial return by selling advertising on your search engine. While Microsoft has decided to develop its own search engine, O Bing, which has been well accepted by users. In his lectures, Molinari (2010) often makes the following quote: "Either you change or you move." That is, if you change, you have to be for the better. Who wants to go beyond, in the sense of doing something that makes a difference and that brings positive results to the company, one must think of innovation. Otherwise, the competitor will do something different and better for the target audience. It is the law of survival. According to Molinari (2010), innovation in software testing can occur at any time within a company, either through a radical or incremental change. And a good way to do this is by opting for test automation.
AUTOMATION OF TESTSAccording to the authors Graham and Fewter (1999), the test automation consists in the use of a tool that imitates the interaction of the tester with the application. This practice, according to Molinari (2010), aims to reduce the execution time and the term of the tests. Although the intent of automation is to minimize manual procedures, Molinari (2010) ensures that the manual test is something irreplaceable. Even if the company automates 99% of the tests, there will always be a need for an analysis or a small test to be done. The rumor that the "robot" will replace the tester falls to the ground.
MANUAL TESTS X AUTOMATED TESTSAs mentioned earlier, manual testing can not be eliminated, but reduced to the maximum and focused on specific cases where it is very expensive to automate. On the other hand, automated testing becomes indispensable for increased productivity and reduced time in what is usually and routinely in the test. Let's look at the classic case of automating a login: You enter the user and password of the application and confirm your login by clicking the enter button. Imagine now you run a test that logs in to 50 different users? What if, in addition to this main stream, you have to test exception streams as invalid or null data? It would be very laborious, would not it? With automation, we could record the action of a login, parameterizing the user and password with data read directly from a .csv file through a loop of 50 executions. Okay, we would have an automated test case. Every time you test the application login, you just have to run the script and verify that it behaves as expected for the recording. For regression and performance testing, there is no doubt that automated testing is the most appropriate. However, if it takes a long time to be recorded and you have no expectation of reuse in the future, manual testing is enough.
WHY USE SELENIUM?Although there are already several test automation tools, Selenium stands out as a set of tools, allowing the user to test web applications in the most diverse forms of automation, such as: Create and run test scripts regardless of browser or operating system. Perform Load / Stress Testing by running test on multiple browsers from one or more computers. Add plug-ins that allow you to build robust test scripts that meet business needs. Integrate test scripts into a test project, be it Java, C #, PHP, Python, or Ruby.
>>> To continue reading, download the free sample from the book. <<<<
Hugo Peres (Autor)
Graduate in Authore Analysis of Systems Development (UniCarioca) and Post-Graduate in Software Engineering (UFRJ). He currently performs the role of Test Analyst in a renowned software factory in Rio de Janeiro, under several certifications, including MPS.BR (Level C). With an innovative spirit, it is always looking for new solutions that add quality to the software, making the testing process more productive and less expensive.