Test Automation Practices Used In The Software Industry
Absztrakt
In the software development life cycle, software testing is costly, labor-intensive, and time-consuming. There has always been a demand for software testing to reduce testing time. This resulted in an emphasis on Automated Software Testing, because by employing certain tools for automated testing, this work may be greatly decreased, and testing expenses can be cut. Manual testing necessitates a significant amount of effort and hard labor when measured in terms of people each month. By delegating some testing activities to machines, automated software testing helps to reduce workload. Computer systems are inexpensive, faster, and never get dull, and they can function continually on weekends. In this thesis work, I will be presenting the main idea of software testing and its purposes then go deeply into automation testing to understand the main difference between it and between manual testing. Moreover, how can automation testing noticeably impact the software development life cycle and how can we determine the best scope of test automation and the best tools to use. In the initial step, I concentrated on collecting theoretical knowledge about software testing and its methods, levels, and models because it is a new topic for me, and the more I learned about it, the more interested I became. Following the first stage, I researched automation testing, its various types, and its frameworks. Conducting research to find the best-automated testing tools and preparing a strong test plan, strategy, and design. Here I started searching for the best automation testing tool and approach to use in the third aspect which is to write code and apply automation testing on a public API by exploring the tools used in different projects and interviewing creative and well-experienced engineers from EPAM company. The previous stage was the main aim of this thesis, by finding a good tool to use and a suitable approach I will be able to write test cases and scenarios that are compatible with the API that I want to apply automation testing for it after that develop codes to execute them and compare the actual results with the expected ones which will lead me to know if the test was a success or not and finally print the reports for the results I obtained.