Technical tool requires new skills for software testing

Technical Background:

The software testing involves analysing
either the requirements or the specifications and coming up with test cases
against which the software will be validated, to determine if the requirements
are met or the specifications are complied with. These tests are executed manually
.Regression test cycles are long, and tests within the cycles repeat every
month or quarter depending on the release frequency, and often require
modification. Manual testing in such a scenario becomes prohibitively expensive.
These tests are executed manually. With the business requirements frequent
changes and limited timeline given, manual way of testing is not proving much efficient
with limited resources and project’s budget constraint.

Automating software testing is an
option to reduce the recurring cost (of labor) and time. It involves developing
test scripts, so that tests can be executed with minimal human intervention and
attention. A pilot project is initiated to replace ongoing manual testing
procedure used within the project with an open source tool of CSC, Ignasia for
test automation. The primary goal of this Automation Testing
Framework project is that tests are self-contained and intended to be run by
end users periodically.

Technological Uncertainties:

Implementation of automation test
solution tool, Ignasia is not simple and can still fail possibly due to risks
associated with it.

·        
 Insufficiency
of the test tool Ignasia

The test tool Ignasia
has proven result in Banking Domain. This may result inefficient for Insurance
domain. The automation tool must be in accordance to the business needs with
the test process introduced.

·        
Nonqualified Test Team

An automated
software testing tool requires new skills for software testing engineers
and Test scripts automatically generated by the tool during recording must be
modified manually, which requires knowledge of scripting.

·        
High Script Maintenance
Costs

System wide test
scripts have to be flexible enough to easily support various changes and
insertion of new functionalities that appear during a project’s life cycle.

Work done to overcome the Uncertainties:

Step 1: Initiation

The goal of this step is to
identify opportunities to improve the test process. Those areas to which Test
Automation is best suited, and where it will most clearly show benefits, are
identified.

Step 2: Setup

The goal of this phase is to
carry out tool selection, draw out the benefits, and define the whole
implementation process. The tool selection service helps in choosing the right
Test Automation toolset by determining goals and tool selection criteria.

A freeware, open source tool within
CSC (Ignasia) was selected and meetings were setup with the project’s members
who were already using the tool to understand the work done and whether the adoption
will be a benefit.

An introduction to new software
testing tool requires new skills for testing engineers, therefore additional
training is required. With ongoing manual
testing, it’s necessary to invest time and resources into putting together a
fully automated testing framework. An expert from the training department is appointed
for the knowledge transfer during weekends.

To create easily maintainable
scripts, software testing professionals with some experience in development are
important. They are supposed to be capable of designing a modular script
structure, in the same way as when doing a normal software design.

A pilot project is set up to show
that the proposed Test Automation solution is workable and can deliver the
expected benefits incompliance with all the business needs.

Step 3: Implementation

In this stage, the team
introduces the Test Automation cycle into the project. Once the process has
been set up, it is applicable to both, regression test cases of an existing
application and setting up test suites for new developments.

To create easily maintainable
scripts, software testing professionals with some experience in development are
important. They are supposed to be capable of designing a modular script
structure, in the same way as when doing a normal software design.