Every project has a testing phase...
In which it is important to check the application as a whole and make sure everything works as intended. In an era of highly interactive and responsive web sites where many organizations are using some form of Agile methodology, test automation is frequently becoming a requirement for web application projects.
There are many advantages of test automation but the most prized are:
Automated tests can run at much higher speeds, even in parallel which allows you to test multiple scenarios in a much shorter time.
A use case test would only have to be built once and after that it can be executed virtually an unlimited amount of times, allowing you to have frequent regression testing or multiplatform testing without the initial time investment.
Unlike manual testing where you need to factor in human error, automated tests will execute the same scenario every time.
Although the advantages are abundant, there are still test scenarios when manual testing is more appropriate:
When testing usability of the user interface e.g. position of action buttons.
When building the test would require more time than testing manually and there are no plans to reuse the test in the future.
When the user interface is likely to change considerably in the future and a rebuild of the test would be commercially unsustainable.
Types of Testing
Different types of testing may be required for specific phases of the project.
Browser testing is a core component of functional use case testing since web applications like web sites are built to be run in an Internet browser. Unit and Integration testing is performed during the development stage to validate expected code base results.
Performance, security, penetration, load and capacity tests are automated and usually done in the later stages of the project.
During the life cycle of the project, when new requirements and changes are made to the web site, functional testing but also regression testing are required to make sure there’s no negative impact on the previous implementation.
Automated browser testing
Browsers like Google Chrome, Mozilla Firefox or Microsoft Edge can be automated to execute specific use case testing, using the native support for automation. One advantage of automated browser testing is that the same use case can be tested on multiple browser platforms, including mobile and different device resolutions – eliminating the need for tedious manual tests over and over again.
Supported browsers & platforms
Internet Explorer 7 - 11.
Android – Default Browser, Chrome
iOS - Safari
Each test is built by a developer using a test framework of choice like NUnit along with a testing toolkit. Our Content Management System of choice, Kentico EMS, even comes with its own helper methods to make the build process even quicker for us developers.
Tests are executed locally on the development environment using emulators and virtual machines or remotely using third party services like BrowserStack.Depending on the test suite, from as low as a few minutes, the test results gives clear indication which test has passed or failed allowing for continuous and focused application development. Screenshots of each stage of the test also help diagnose any potential issues.
Test builds don’t necessarily need to be used only for testing a specific use case of a web application. We also use tests to automate the more mundane deployment tasks like changing settings via the CMS portal interface, making sure that each project environment is configured the same and in a timely fashion.