Automated Testing

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

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, FactoryBot, 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

Ruby language
Cucumber BDD
Selenium tool
Capybara tool
SauceLabs cloud service
TestingBot cloud service