About Automated Testing
Today it is impossible to imagine software testing without the use of automated tools. Even with the best manual testing, numerous defects and errors are omitted. With each new and advanced version of a software product, more features are required to be covered by automated tests. This saves time and resources and improves efficiency of the finished product, ensuring on-time release deliverables.
Benefits of Automated Testing
Significantly speeds up testing efforts
With automated test tools, testing is performed much faster than it is normally done by testers manually. This helps reduce costs and release quality products on a more frequent basis.
Reduces risk of human errors
As automated tests repeat the same test scenarios every time they are executed, the risk that some steps will be missed or forgotten is minimized.
Increases effectiveness of test resources
Execution of automated tests requires less time and minimal effort of the testing staff. As a result, testers are able to identify more complex errors and bugs doing manual tests as well as giving reports to the development team faster.
Can be executed during non-working hours
Automated tests can be run at practically any hour (at night or after working hours), thus ensuring that working process is not hampered. Such tests do not require the physical presence of a tester.
Can be reused multiple times
An automated test script can be applied to testing different versions or components of a software product simultaneously. When a product or GUI changes, a test script is updated to reflect the changes and can be further used for testing.
Increases test coverage
As an application is advanced with more and more features, it becomes rather complex to test all scenarios. Automation can help testers to create tests that are expected to cover every feature in the application. This is not possible with manual testing.
Regression testing is faster and easier
The purpose of regression tests is to ensure that an application has the same behavior as before after new features are added. Due to tight deadlines, there is no possibility to fully test the application manually. Thus you can create a set of regression tests and integrate them into a nightly build to have the testing results in the morning.
Myths and Realities of Automated Testing
Myth 1: Automated Testing fully replaces manual testing
It is totally wrong to consider that automation can entirely replace a human tester. A good tester has experience and skills to play a role of an end-user and identify complex bugs and defects which cannot be found with automation tests. In addition, a tester is needed to create, execute, and finalize the results of automation tests.
Myth 2: Automated Testing is easy to set up
Of course, automated tests are created to simplify testers’ life and speed up a testing process. But even the most advanced tool cannot do everything. The initial efforts needed for preparing automated tests are titanic. And this should be taking into account when calculating testing resources and preparing test plans.
Myth 3: Everything should be switched to automation
Not every component in the application can be included into automated tests. This is the case with graphical user interfaces where manual testing is more preferred. A test team, probably with the assistance of the development team, should conduct a throughout analysis to decide which features are to be covered with only manual tests and which components are better to be tested with automated tools.
Myth 4: If everything is automated, testers are no longer needed
This is very far from the truth. Even the most advanced and comprehensive frameworks with the highest level of test coverage can omit serious bugs that could be only found by manual testers. Moreover, testers are needed to create test scenarios, test cases to be included in automated testing, control the test execution, and handle the whole testing process.
Automated Tools We Use
Automated tools can be proprietary (with closed source code and license required) and the tools with open source code. Open-source code programs are more attractive for several reasons:
- They provide greater flexibility in development than tools with the closed code
- It is easier to maintain and customize such tools.
- They do not require an additional fee for licensing.
- They are much easier in usage.
- They normally use the most innovative technologies.
Due to all these factors we choose to use only OPEN SOURCE products.
Why We Prefer Ruby for Automation
As a marketing trick, sellers often promote tools that may allow recording and reproducing users’ actions. However, our extended and long-term experience shows that it is impossible to create quality and stable regression tests without programming code. Automation testing is very much like classic programming with the same development process as used in mobile or web development.
For creating automated tests, a scripting language is used as a programming language. A scripting language serves very well for automation needs and provides great flexibility in data manipulation and data processing.
We have chosen to use RUBY as a scripting language as this language is very powerful, dynamic, cross- platform, object-oriented, open source, and at the same time quite simple. Ruby growing community pays close attention to testing and offers a great variety of powerful automated tools. Among them are Howitzer, Cucumber, RSpec, FactoryGirl, Calabash, Watir, Capybara, Selenium WebDriver, and many others.
Being true experts in testing and programming, we offer a wide range of automation testing services, including coaching and training courses, test consulting, and development services.
Our Web and Mobile Testing Services
In Web 2.0 era it becomes vitally important to support the development of applications for a growing number of browsers and mobile devices under different operating systems. It is much more expensive to maintain own test infrastructure than to use cloud technologies and services, like SauceLabs, Testingbot, or Browserstack. For continuous assembling and automatic running of test suites such continuous integration systems as Atlassian Bamboo, Team City, Jenkins, and Travis are used.
We are happy to provide our quality services in configuration and fast setup of these systems.
We specialize in