Automation Testing : The Best Alternative Of Manual Testing


Website test automation requires you to use software and tools, which is an ideal alternative to time consuming manual testing. In order to successfully plan and execute test automation, you need to have an effective framework, tested methodology, and suitable tools to reduce time and boost the quality of testing. Oniyosys has the expertise to create software test automation process for applications across a number of domains. Our proficiency in developing test automation scripts for customized website allows us to manage product complexities.

The automation software can also enter test data into the System Under Test ,  compare  expected and actual  results and generate detailed test reports. Successive development cycles will require execution of same test suite repeatedly. Using a test automation tool it’s possible to record this test suite  and re-play it  as required.Once the  test suite is automated,  no human intervention is required .This improved ROI of Test Automation. Goal of Automation is to reduce number of test cases to be run manually and not eliminate manual testing all together.

Why Automation Testing?

Manual Testing of all work flows, all fields , all negative scenarios is time and cost consuming

  • It is difficult to test for multi lingual sites manually
  • Automation does not require Human intervention. You can run automated test unattended (overnight)
  • Automation increases  speed of test execution
  • Automation helps increase  Test Coverage
  • Manual Testing can become boring and hence error prone.

Which Test Cases to Automate?

Test cases to be automated can be selected using the following criterion to increase the automation ROI

  • High Risk – Business Critical test cases
  • Test cases that are executed repeatedly
  • Test Cases that are very tedious or difficult to perform manually
  • Test Cases which are time consuming

The following category of test cases are not suitable for automation:

  • Test Cases that are newly designed and not executed manually  atleast once
  • Test Cases for which the requirements are changing frequently
  • Test cases which are executed on ad-hoc basis.

Simple Steps to follow in Automation Testing:

There are lots of helpful tools to write automation scripts, before using those tools it’s better to identify the process which can be used to automate the testing.

  • Identify areas within software to automate
  • Choose the appropriate tool for test automation
  • Write test scripts
  • Develop test suits
  • Execute test scripts
  • Build result reports
  • Find possible bugs or performance issue

For the products that are change-resistant and economical, Oniyosys is adept in building functional test automation cycle and effective regression testing capabilities pre- and post-deployment and it suits all budgets and technical needs. Explore our Lucrative Test Automation Benefits for Maximum Level of Accuracy, Fast Turn Around Period & Money Saving, Team Skill Improvement, Interactive Approach and Advanced Test Automation Tools Usage.

Regression Testing – A crucial step for the success of application development and upgrades


Oniyosys conducts regression testing, where previously run tests are re-conducted to avoid the emergence of old/new software bugs or regressions that typically come back when major code or program modifications/maintenance are done.

Let’s talk about our Regression Testing for better understanding :

When any modification or changes are done to the application or even when any small change is done to the code then it can bring unexpected issues. Along with the new changes, it becomes very important to test whether the existing functionality is intact or not. This can be achieved by doing the regression testing.

Types of Regression testing techniques:

We have four types of regression testing techniques. They are as follows:

1) Corrective Regression Testing: Corrective regression testing can be used when there is no change in the specifications and test cases can be reused.

2) Progressive Regression Testing: Progressive regression testing is used when the modifications are done in the specifications and new test cases are designed.

3) Retest-All Strategy: The retest-all strategy is very tedious and time-consuming because here we reuse all test which results in the execution of unnecessary test cases. When any small modification or change is done to the application then this strategy is not useful.

4) Selective Strategy: In selective strategy, we use a subset of the existing test cases to cut down the retesting effort and cost. If any changes are done to the program entities, e.g. functions, variables etc., then a test unit must be rerun. Here the difficult part is to find out the dependencies between a test case and the program entities it covers.

When to use it:

Regression testing is used when:

  • Any new feature is added
  • Any enhancement is done
  • Any bug is fixed
  • Any performance related issue is fixed

Advantages of Regression testing:

  • It helps us to make sure that any changes like bug fixes or any enhancements to the module or application have not impacted the existing tested code.
  • It ensures that the bugs found earlier are NOT repeatable.
  • Regression testing can be done by using the automation tools
  • It helps in improving the quality of the product.

Regression Testing Techniques

Software maintenance is an activity which includes enhancements, error corrections, optimization and deletion of existing features. These modifications may cause the system to work incorrectly. Therefore, Regression Testing becomes necessary. Regression Testing can be carried out using following techniques:

Retest All

This is one of the methods for regression testing in which all the tests in the existing test bucket or suite should be re-executed. This is very expensive as it requires huge time and resources.

Regression Test Selection

Instead of re-executing the entire test suite, it is better to select part of test suite to be run.

Test cases selected can be categorized as 1) Reusable Test Cases 2) Obsolete Test Cases.

Reusable Test cases can be used in succeeding regression cycles.

Obsolete Test Cases can’t be used in succeeding cycles.

Prioritization of Test Cases

Prioritize the test cases depending on business impact, critical & frequently used functionalities. Selection of test cases based on priority will greatly reduce the regression test suite.

If your software undergoes frequent changes, regression testing costs will escalate. In such cases, Manual execution of test cases increases test execution time as well as costs. Automation of regression test cases is the smart choice in such cases.  The extent of automation depends on the number of test cases that remain re-usable for successive regression cycles.

Regression Testing Tools

Following are most important tools used for both functional and regression testing:

Selenium: This is an open source tool used for automating web applications. Selenium can be used for browser-based regression testing.

Quick Test Professional (QTP): HP Quick Test Professional is automated software designed to automate functional and regression test cases. It uses VBScript language for automation. It is a Data-driven, Keyword based tool.

Rational Functional Tester (RFT): IBM’s rational functional tester is a java tool used to automate the test cases of software applications. This is primarily used for automating regression test cases and it also integrates with Rational Test Manager.

Oniyosys run regression tests using a suitable combination of automated and manual testing. They are conducted not only during the operational software development stage but also before the release stage into a live environment. Regression testing helps detect major variances that could have serious implications on the revenue, schedule, and company reputation. This type of testing is crucial to the success of application development and upgrades.

Functional Testing :The Most On-Demand Service Of Oniyosys


Functional testing services at Oniyosys cover end-to-end software testing right up to user acceptance testing with complete system integration and acceptance. During our functional testing process, we check the programs thoroughly for any bugs which may not be visible during the normal testing process. Our functional testing module is applicable for both new applications and as well as existing applications with added features. Let’s discuss our functional testing –

Functional Testing is a testing technique that is used to test the features/functionality of the system or Software, should cover all the scenarios including failure paths and boundary cases. This testing mainly involves black box testing and it is not concerned about the source code of the application.

Each and every functionality of the system is tested by providing appropriate input, verifying the output and comparing the actual results with the expected results. This testing involves checking of User Interface, APIs, Database, security, client/ server applications and functionality of the Application Under Test. The testing can be done either manually or using automation

What do you test in Functional Testing?

The prime objective of Functional testing is checking the functionalities of the software system. It mainly concentrates on –

Mainline functions:  Testing the main functions of an application

Basic Usability: It involves basic usability testing of the system. It checks whether a user can freely navigate through the screens without any difficulties.

Accessibility:  Checks the accessibility of the system for the user

Error Conditions
: Usage of testing techniques to check for error conditions.  It checks whether suitable error messages are displayed.

Functional Testing Process:

In order to functionally test an application, following steps must be observed.

1. Identify Test Input ( test data ) 

2. Compute The Expected Outcomes With The Selected Test Input Values

3.Execute  Test Cases

4.Comparison Of Actual and Computed Expected Result

Types of Functional Testing :

Mainly major functional testing techniques are of two types –
1. Black Box and 2. White Box Testing

The other major Functional Testing techniques include:

1.Unit Testing

2. Integration Testing

3. Smoke Testing

4. User Acceptance Testing

5. Localization Testing

6. Interface Testing

7. Usability Testing

8. System Testing

9. Regression Testing

10. Globalization Testing

Functional testing tools:

There are several tools available in the market to perform functional testing. They are explained as follows:

Selenium – Popular Open Source Functional Testing Tool.

QTP – Very user-friendly Functional Test tool by HP.

JUnit– Used mainly for Java applications and this can be used in Unit and system testing.

soapUI – This is an open source functional testing tool, mainly used for Web service testing. It supports multiple protocols such HTTP, SOAP and JDBC.

Watir – This is a functional testing tool for web applications. It supports tests executed at the web browser and uses ruby scripting language.

Functional testing is more effective when the test conditions are created directly from user/business requirements. When test conditions are created from the system documentation (system requirements/ design documents), the defects in that documentation will not be detected through testing and this may be the cause of end-users’ wrath when

they finally use the software.

At Oniyosys our functional testing is the most in-demand service of the company with scores of successfully completed projects and they span a wide spectrum of activities from integration testing to user acceptance testing to production release support.