A platform for research: civil engineering, architecture and urbanism
Automated smoke testing with Selenium
The goal of this thesis was to design and implement a browser based automated test suite. The project was done for Crosskey Banking Solution, aiming to reduce time consuming manual testing and improve confidence when releasing. The project spawned three different Java applications executing tests towards development, test and production environments. The subject under test is Crosskey’s Open Banking platform which follows cloud based micro service structure with Amazon Web Services. Available browser automation software were evaluated, resulting in Selenium being selected as the most suitable. The tests were written in Java 8 with JUnit 5, and were configured to execute in the cloud using AWS. Jenkins was set up to trigger test execution both daily, and whenever a change is detected by Git in the test application source code. Building the test suite included the design of a test framework, wrapping and tailoring the functionality of Selenium to the project requirements. Solutions were derived for executing tests separately on the development, test and production environments. Further separation of execution was made for sandbox and live environments. When the test suite was launched it fulfilled the main goals of the project; the number of manual tests was reduced, and the confidence of the platform health at releases was increased. Issues that arose were that the live environment test result is dependent on the health of backend services maintained by other teams and companies, and the live/production environment combination could not be tested automatically. The tests were considered valuable and adapted into the delivery pipeline. ; Detta arbete dokumenterar utformandet och implementationen av webbläsarbaserade automatiserade tester. Arbetet utfärdades av Crosskey Banking Solutions med det huvudsakliga målet att minska tidskrävande manuella tester och stärka förtroendet vid leverans. När arbetet var utfört fanns tre skilda Java-applikationer som kör Seleniumtester dagligen mot flera miljöer. Testernas subjekt är Crosskey’s Banking plattform som följer mikroservice-struktur och är molnbaserad med Amazon Web Services. Tillgänglig webbläsarautomationsprogramvara evaluerades varav Selenium valdes. Testerna skrevs som Java 8-applikationer med JUnit 5 och konfigurerades att köra i molnet med AWS. Testkörningen initieras regelbundet av Jenkins, som även initierar testkörning då ändringar i testapplikationens kod sker i Git. Testapplikationens design inkluderade utformandet av ett framework som enkapsulerade och generaliserade Seleniums funktionalitet för att underlätta testutformingen. Lösningar utformades för att upprätthålla skilda tester vid utvecklings, tests och produktionsmiljö. Ytterligare särskiljning gjordes för tester per sandlåde- och live-miljö. Då testapplikationerna togs i bruk uppfylldes de huvudsakliga målen att minska mängden manuella tester och öka förtroendet för plattformens hälsa vid leverans. Problem som utmynnades med tiden var faktumet att testerna i live-miljön var beroende på hälsan av backend-tjänster som tillhandahölls av andra aktörer, och att kombinationen produktionsmiljö och live-miljö inte kunde automatiseras. Testerna konstaterades värdefulla och adapterades som en del av teamets leveransprocess.
Automated smoke testing with Selenium
The goal of this thesis was to design and implement a browser based automated test suite. The project was done for Crosskey Banking Solution, aiming to reduce time consuming manual testing and improve confidence when releasing. The project spawned three different Java applications executing tests towards development, test and production environments. The subject under test is Crosskey’s Open Banking platform which follows cloud based micro service structure with Amazon Web Services. Available browser automation software were evaluated, resulting in Selenium being selected as the most suitable. The tests were written in Java 8 with JUnit 5, and were configured to execute in the cloud using AWS. Jenkins was set up to trigger test execution both daily, and whenever a change is detected by Git in the test application source code. Building the test suite included the design of a test framework, wrapping and tailoring the functionality of Selenium to the project requirements. Solutions were derived for executing tests separately on the development, test and production environments. Further separation of execution was made for sandbox and live environments. When the test suite was launched it fulfilled the main goals of the project; the number of manual tests was reduced, and the confidence of the platform health at releases was increased. Issues that arose were that the live environment test result is dependent on the health of backend services maintained by other teams and companies, and the live/production environment combination could not be tested automatically. The tests were considered valuable and adapted into the delivery pipeline. ; Detta arbete dokumenterar utformandet och implementationen av webbläsarbaserade automatiserade tester. Arbetet utfärdades av Crosskey Banking Solutions med det huvudsakliga målet att minska tidskrävande manuella tester och stärka förtroendet vid leverans. När arbetet var utfört fanns tre skilda Java-applikationer som kör Seleniumtester dagligen mot flera miljöer. Testernas subjekt är Crosskey’s Banking plattform som följer mikroservice-struktur och är molnbaserad med Amazon Web Services. Tillgänglig webbläsarautomationsprogramvara evaluerades varav Selenium valdes. Testerna skrevs som Java 8-applikationer med JUnit 5 och konfigurerades att köra i molnet med AWS. Testkörningen initieras regelbundet av Jenkins, som även initierar testkörning då ändringar i testapplikationens kod sker i Git. Testapplikationens design inkluderade utformandet av ett framework som enkapsulerade och generaliserade Seleniums funktionalitet för att underlätta testutformingen. Lösningar utformades för att upprätthålla skilda tester vid utvecklings, tests och produktionsmiljö. Ytterligare särskiljning gjordes för tester per sandlåde- och live-miljö. Då testapplikationerna togs i bruk uppfylldes de huvudsakliga målen att minska mängden manuella tester och öka förtroendet för plattformens hälsa vid leverans. Problem som utmynnades med tiden var faktumet att testerna i live-miljön var beroende på hälsan av backend-tjänster som tillhandahölls av andra aktörer, och att kombinationen produktionsmiljö och live-miljö inte kunde automatiseras. Testerna konstaterades värdefulla och adapterades som en del av teamets leveransprocess.
Automated smoke testing with Selenium
Donalds, Emanuel (author)
2021-01-01
Miscellaneous
Electronic Resource
English
DDC:
690
British Library Online Contents | 1992
|Field Testing of Smoke Detectors
British Library Online Contents | 1993
Specifications: Fire and Smoke Testing
British Library Online Contents | 1996
|