Business Component & XML Driven Test
Automation Framework, BX-D
Submitted to
Balamurali L Pradeep P P Rathish M M Samiya Salim
Group Manager –
SQA
Senior Lead
Engineer – Testing
Lead Engineer
– Testing
Lead Engineer – SQA
Network Systems and Technologies (P) Ltd.
A3, Periyar, Technopark,
Thiruvananthapuram, Kerala.
1. Abstract
Test Automation is an accepted technique which is adapted by the industry for increasing
the effectiveness of the testing phase. The recurring tasks are being automated by the tools
thus simplifying the human efforts and results in increased quality of product under test. A
study of test automation programmes in the industry reveals the fact that a good
percentage of them fail to find the intended results. A pareto analysis revels that majority of
the failures are the result of lack of capability overlap of test resources in the domain and
test automation. In order to have success in a test automation program, the test engineers
should be knowledgeable in the test automation tool as well as the domain under test. In
practical scenario it is seen that, many a times, the test engineers who are experts in the
domain are not fully capable of test automation due to lack of their awareness in testing
tools.
The paper explains the experience of authors in creating an XML Driven business component
test automation Framework – BX-D, which simplifies the test automation by concealing the
complexity of script development. Test automation of a single product can be done using
different test automation tools based on the customer demands using BX-D framework. It
also ensures that multiple tools can be used for test automation of the same product which
inturn reduces the limitations of the tools. The horizons of BX-D are wide open with the
opportunities of cloud testing which is going to conquer the software testing world.
2. Industry Practice and Lacunae
The software industry has started embracing test automation as a practice for increasing
the productivity. During the initial planning of the project itself, the effort and time for test
automation is estimated. The tool for test automation will be identified in the initial period
and procurement of licence and training as per the requirement is planned to ensure smooth
test automation. The effort for test automation is a function of the number of tests which is
planned to be automated. It is a well accepted fact that all the test cases are not planned to
be automated due to the limitation of the tool which is used for test automation. The tests
which are planned to be automated will be identified during the test design phase. Once the
candidate features implemented in the product is received by the testing team, the test
automation of identified test cases will be done by the test engineers.
When a product branching happens, test automation also takes a branching, but rarely as
efficient as branching of source code. Separate scripts have to be maintained for each
product line.
Even though it has been years since the initiative is in air, test automation is yet to come
out of the childhood discrepancies. Even though test automation has been considered as
one of the best methodologies that can be adapted for improving the productivity of the
projects, there is reluctance in adapting test automation to the project. The lack of
competency for performing test automation, intricacy in choosing the apt tool for
automation and the demands of a highly ambitious market can contribute to one of the
factors for this reluctance.
i. Competency Requirement
"For the most part, testers have been testers, not programmers. Consequently, the 'simple' commercial solutions
have been far too complex to implement and maintain; and they become shelfware."
- Carl J Nagle
Figure 1 : Competency Requirement of a tester
Test automation includes designing test ware, implementation of the test cases and
monitoring and closure of the results more than just executing the test cases. The test
cases developed by the tester needs to be converted to machine executable code for
performing test automation. Scripting has a very important role in test automation which in
turn means that programming skills has become a vital factor in test automation. For
developing the test cases domain knowledge is required and for automating those test cases
programming skills are required. The competency required for a tester for a product which
required test automation should be a blend of good domain knowledge and coding skills.
This blend of competency seems to be lacking in the current industry which creates
reluctance to the usage of test automation tools in the current industry.
ii. Choose the right tool
Figure 2 : Choose the right tool
Apt tool selection for test automation is one of the challenges faced by the test engineers.
The features supported by the different automation tools vary. It can also seen that many a
times all the features of a product cannot be automated using a single test automation tool.
It can also be noted that purchasing a costly tool for doing the automation of some features
of the SUT is not cost effective. It all points towards having a framework available in such a
way that different tools can be used simultaneously for the test automation of the SUT.
iii. Version Complexity
Figure 3 : Different versions delivered to different customers
Different versions of a product will be created from base version of the product in a product
line as shown in Figure 3 and will be delivered to multiple customers. The most important
challenge in front of the tester is how to automate testing of the different versions of this
product. Automation is been done for each version of the product which means that the
automation of the core functionalities are repeated for each version which results in huge
wastage of effort, resource and time. In this scenario if any change is incorporated in the
base version of the product automation scripts needs to be repeated for all the versions in
which the change is affected which in turns results in the huge effort for the maintenance.
3. Suggested Solution
The most imperative factor for the disinclination towards test automation is
 Huge effort which is contributed by the lack of expertise of the resource
 Maintenance effort for incorporating the change due to customization of product into
the automation script
 Lack of skill in opting the right automation tool
 Cost involved and skill required for using different automation tools in single product
The resolution to all the concerns mentioned above can be achieved through brining in a
centralized test automation framework. This framework should be
 Easily adaptable to the customization done in the product
 Reduce the dependency to the programming skills needed by the tester
 Supports multiple test automation tool
BUSINESS COMPONENT AND XML DRIVEN TEST AUTOMATION FRAMEWORK (BX-D)
provides the solution for all the scenarios which are creating disinclination towards test
automation and supports all the demands for a centralized test automation framework.
BX-D framework helps to utilize the skills of the persons who have good knowledge in the
domain and test automation skills in a unique way. The testing team of an organization shall
be divided into two teams – Domain experts and Automation experts. The responsibility of
the domain expert is to study the product and domain and create the corresponding testing
artifacts. Automation experts shall be responsible for implementing the business
components received from the domain expert in the test automation tool. Domain experts
can select the business components to create the test scenarios for test execution easily
from the BX-D framework. The workflow of the BX-D framework is as mentioned in Figure 4.
Figure 4 : Workflow of BX-D framework
I. BX-D Framework Architecture
BX-D has been built with four layer architecture – System under Test, Test Tool Layer, Test
Case Layer and Framework Layer. Figure 5 shows the architecture for the test automation
framework, BX-D.
Figure 5 : Architecture Framework of BX-D
System under Test is the product for which the testing process is been conducted.
i. Framework Layer
As per the list of business components which has been given by the domain experts,
business components and test scenarios are created in this layer. The test scenarios
generated shall be saved for specific tool or specific customer. The main modules in this
layer are Test Execution Configurator, Business Component Service, Test Scenario
Generator, Test Scenario Collection and Test Result Poll Service
a. Test Execution Configurator
BX-D framework can be configured for different test automation tools and for different
customers. The tools which are configured in the test tool layer shall be listed in the Test
Execution Configurator and test engineer can select the tools and customer for which the
test scenarios are being generated. This module gives the provision to add, delete and save
new tools and customers to the framework. Figure 6 shows the screenshot of the test
execution configurator
Figure 6 : Test Execution Configurator
b. Business Component Service
Business Component Service Module has two components – Business Component (BC)
Collection and BC editor. The business components as listed down by the domain experts
shall be created using the BC editor. The BC editor gives the provision to select the tools for
which the business components need to be added. Figure 7 shows the screenshot of BC
editor for a login feature.
Figure 7 : Business Component Editor
Business components are created and saved for specific tool using the business component
editor and the business components thus created shall be listed down in the business
component collection. BC collection lists down the business components and the tools in
which the BC is implemented. Figure 8 shows the screen shot of BC collection
Figure 8 : Business Component Collection
c. Test Scenario Generator
The business components thus created can be dragged and dropped to the test scenario
generator and can be customized as per the requirement. Figure 9 shows the screenshot of
the test scenario editor
Figure 9 : Test Scenario Generator
The test scenarios generated can be saved as test cases in xml format to the test case layer
of the BX-D framework as shown in Figure 10.
Figure 10 : Scenario saved to XML layer
d. Test Scenario Collection
The scenarios and test cases created using the test scenario generator can be viewed at the
test scenario collection of the BX-D framework as shown in Figure 11.
Figure 11: Test Scenario Collection
e. Test Result Poll Service
The test scenarios shall be selected and executed by clicking the Run button as shown in
Figure 12.
Figure 12 : Test Scenario Execution
The test results of the test cases shall be listed in the test results viewer of the BX-D
framework as shown in Figure 13
Figure 13 : Test Results Viewer
ii. Test Case Layer
The test cases which are generated using the test scenario generator shall be saved in XML
format in the test case layer of the BX-D framework. These test cases shall be organized
under each test automation tool as shown in Figure 14. This is an intermediate layer which
will be generated when test cases are saved in the BX-D framework.
Figure 14 : Test Case Layer
iii. Test Tool Layer
Automation Engineers shall be responsible for the activities which are done in the test tool
layer. The XML test cases are parsed into the test automation tool. The automated test
executions will happen as defined in the test automation scripts developed by the
automation engineers.
4. Advantages
One of the most important factors for the disinclination towards test automation is the
expertise which is required for test automation and complexity involved in the maintenance
of the automation scripts in a product line. BX-D framework provides a well defined platform
for the testing resources to express their testing skills and automation skills. The test
engineers can showcase their testing skills without having the fear of lack of awareness in
automation whereas automation engineers have an ideal platform to showcase their
automation skills. The distinction of the test engineers has brought in reduction of the
effort which was spend for the maintenance of the automation scripts done by less skilled
resources where customization of the products were done for different customers.
The high cost involved in using different automation tools for testing of one product is
solved through BX-D framework. Different features in one product can be tested using
different automation tools and the effective combination of open source and licensed tools
resulted in cost optimization and optimized utilization of the tools without affecting the
budget allocated for the project. Testing can be scheduled overnight using different tools
and test engineers shall be receiving the test results in the morning.
The demands of multiple customers for test automation of the same product can be
achieved by using the BX-D framework. The versions are configured in such a way that by
choosing a particular version the test cases corresponding to that shall be executed. This
has enhanced customer satisfaction without putting additional effort, cost and complexities.
Even though it is seen in the architecture diagram that it is a complex diagram, it is an
easily adaptable framework. Test cases can be saved for each customer and also for
different versions of the product. Also easy drag and drop feature in the framework allows
the test engineer to easily create the test cases needed for a particular version or customer
thereby increasing the productivity.
5. Case Study
The product is a web based solution for element management. There is a framework for the
product and customized versions are delivered to different customers across the globe. It
was really painful to ensure quality multiple product lines simultaneously since different
customers are using different versions and new features are added to the latest version for
competing in the market. The test team dedicated for the product was lacking expertise in
test automation tools but has expertise in manual testing and in the domain.
On considering the situation, it was decided by the QA department to design an automated
test automation framework which gave birth to BX-D. This enables the testing team to
develop automated tests even without the knowledge of test automation tools. The goal was
to develop a test framework which segregates the scripting part and test case design so
that test automation experts will handle complex scripting part and domain experts will
create test cases using the business components created by the test automation experts. It
was also decided to bring the flexibility to integrate multiple testing tools to the framework
so that maximum usage of open source tools can be ensured and licensed tools can be used
only for those areas where open source tools fails to support some technologies/ user
interface controls. It also helped to ensure the optimum usage of licensed tools across the
projects and increased the return on investment on tool purchases across the organization.
Domain experts were also given the freedom to choose the version of product against which
the test has to be executed and the complexity of the implementation of the same is
masked from them.
About 80 percentage of the tests could be implemented using the open source tool Selenium
and remaining 20 percentage were done with the licensed tool Testcomplete. An existing
floating license of Testcomplete could be reused for the project without affecting the work of
other projects. It was also decided to institutionalize BX-D across the organization which
helped to share the licenses of test automation tools effectively.
6. Return on Investment
By institutionalizing BX-D across the organization we got multidimensional advantages. It
created a huge impact on the direct cost of tools and indirect cost of effort.
About 80% of the test cases could be automated using free tools and the usage of
licensed tools could be minimized to 20%. This helped to reduce the cost of tool licenses by
80% across the organization.
Training cost on testing tools also reduced by 70% since a dedicated team of test
automation only needs to be trained.
There is huge impact on maintenance cost since it is easy to adapt product changes into
test cases. Maximum reuse of test scripts against multiple product lines also gained.
7. Future Work
BX-D framework can be made more cost effective when it is integrated to the evolving
concept of cloud network. BX-D framework gives the flexibility to use different automation
tools in one product. Rather than an organization buying a tool for doing the test
automation of some features in a product, using BX-D the tools can be taken from cloud for
testing and the organization had to do the payment only for the time in which the tools is
been used from cloud. This will widen the spectrum of usage of test automation tools
thereby improving the productivity of the organization in a highly cost effective method.
8. Acknowledgement
The Authors are thankful to Mr. N. Jehangir, Vice Chairman & Managing Director, NeST
Group and Mr. S Sasikumar, President of NeST, Trivandrum for their support in carrying out
this work. We are grateful to Mr. Sebastian Ukken, Associate Vice President and Mr.
Rajagopal K, Senior Manager & Associate Practice Head for their useful discussions and
suggestions at different stages of this work. All the members of Quality and Testing Group
of NeST are acknowledged for their support.
9. Author Biography
Balamurali is working as Senior SQA Manager at Network Systems and Technologies
(NeST). He took his M.Tech from Indian Institute of Technology (IIT) Kanpur and has more
than 12 years of experience in the industry. Has played a lead role in implementing the
models like CMMI1.1, CMMI 1.2, and ISO9001:2008, Automotive SPICE, ISO 27001,
IEC61508 and ISO 13485. He has worked as an Assessment Team Member for CMMI V 1.2.
A CSQA & CQSPE from QAI, he is also a Certified Tester (advanced level- Test Management)
by ISTQB, he is involved in activities of Indian Testing Board and plays an active role in the
core group of the Trivandrum chapter of Software Process Improvement Network (SPIN). He
also a certified Test Manager, Information Security Professional and Internal Auditor by
Department of IT, Govt. of India. He can be contacted at balamurali.l@nestgroup.net
Pradeep P P is working as Senior Lead Engineer and is managing testing activities for a
delivery unit. He has 11 years of experience in software testing industry. He is an
Engineering graduate from College of Engineering, Trivandrum under Kerala University. He
is a Certified Test Manager by STQC and Certified Tester by ISTQB - Advance Level Test
Manager. He gives consultancy for various testing tools like Selenium, J-Meter, QTP,
Rational Functional Tester and Test Complete. He can be contacted at
pradeep.pp@nestgroup.net
Rathish M M is bearing the role of Test Lead. He has received his B Tech in Computer
Science and engineering from College of Engineering, Trivandrum under Kerala University.
He got certifications such as Microsoft certified Technology Specialist (MCTS), IBM Rational
certified tester for Rational Functional Tester (RFT), IBM Rational certified Tester for
Rational Performance tester (RPT), Certified Tester by ISEB-ISTQB, Nest certified
professional for Selenium, J-meter, QTP, Load runner and Test complete. With more than 8
years of extensive experience in Software Testing industry, he gained sound knowledge in
test automation and performance testing. He can be contacted at
rathish.mm@nestgroup.net
Samiya Salim is working as Lead Engineer QA at Network Systems and Technologies
(NeST). She took her B.Tech from Cochin University and has more than 6 years of
experience in software and manufacturing industry. She played a key role in implementing
CMMI v1.2 and IEC 61508. She is a Certified Software Quality Professional by STQC,
Ministry for Information Technology; Govt. of India and ISTQB foundation level certified.
She may be contacted at samiya.salim@nestgroup.net.

More Related Content

DOC
SUMMIT 09 - Startegic Choice Of Test Automation Framework
DOCX
Shalini Sharma Resume
PPT
Test Automation Frameworks Final
DOC
VIJAYKUMAR-CV
PDF
Keyword Driven Testing
PDF
Front Cover:
PDF
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
PDF
[EN] PLC programs development guidelines
SUMMIT 09 - Startegic Choice Of Test Automation Framework
Shalini Sharma Resume
Test Automation Frameworks Final
VIJAYKUMAR-CV
Keyword Driven Testing
Front Cover:
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
[EN] PLC programs development guidelines

What's hot (18)

PPTX
Qa analyst training
PDF
Test Automation Strategies in a Continuous Delivery Ecosystem
PDF
OMSOFTWARE NEW Service
PPTX
Upstate CSCI 540 Unit testing
PPTX
Upstate CSCI 540 Agile Development
DOCX
Vandana B
PDF
Acceptance test driven development
PDF
Automation White Paper V2
DOC
Diljith Abraham -Test Specialist
PDF
Software Test Automation - Best Practices
DOC
8_Testing_Resume_SAP Testing
DOC
Harshavardhan_554403_latest_projects_TCS_3.2Years
DOCX
Sridhar Shanmugam
PPT
Software testing basic concepts
PPT
Bruno Legeard - Model-Based Testing of a Financial Application
PDF
Model Based Testing
DOC
Chowdappa Resume
PPT
Programming skills for test automation
Qa analyst training
Test Automation Strategies in a Continuous Delivery Ecosystem
OMSOFTWARE NEW Service
Upstate CSCI 540 Unit testing
Upstate CSCI 540 Agile Development
Vandana B
Acceptance test driven development
Automation White Paper V2
Diljith Abraham -Test Specialist
Software Test Automation - Best Practices
8_Testing_Resume_SAP Testing
Harshavardhan_554403_latest_projects_TCS_3.2Years
Sridhar Shanmugam
Software testing basic concepts
Bruno Legeard - Model-Based Testing of a Financial Application
Model Based Testing
Chowdappa Resume
Programming skills for test automation
Ad

Viewers also liked (16)

PDF
Software Defined Networking – Virtualization of Traffic Engineering
PDF
An Improved Hybrid Model for Molecular Image Denoising
PDF
Focal Cortical Dysplasia Lesion Analysis with Complex Diffusion Approach
PDF
Speckle Reduction in Images with WEAD and WECD
DOCX
Curriculum vitae alex ardila
PDF
CUDA Accelerated Face Recognition
PPTX
Back to School Kit for the Reluctant Learner Webinar
PDF
Image Denoising Using WEAD
PDF
A 1.2V 10-bit 165MSPS Video ADC
PDF
UpnP in Digital Home Networking
PDF
An Effective Design and Verification Methodology for Digital PLL
PDF
A Whitepaper on Hybrid Set-Top-Box
PDF
Advanced Driver Assistance System using FPGA
PDF
Real Time Video Processing in FPGA
PPTX
Introduction Powerpoint - Iraq
PPTX
Women and Religion
Software Defined Networking – Virtualization of Traffic Engineering
An Improved Hybrid Model for Molecular Image Denoising
Focal Cortical Dysplasia Lesion Analysis with Complex Diffusion Approach
Speckle Reduction in Images with WEAD and WECD
Curriculum vitae alex ardila
CUDA Accelerated Face Recognition
Back to School Kit for the Reluctant Learner Webinar
Image Denoising Using WEAD
A 1.2V 10-bit 165MSPS Video ADC
UpnP in Digital Home Networking
An Effective Design and Verification Methodology for Digital PLL
A Whitepaper on Hybrid Set-Top-Box
Advanced Driver Assistance System using FPGA
Real Time Video Processing in FPGA
Introduction Powerpoint - Iraq
Women and Religion
Ad

Similar to BX-D – A Business Component & XML Driven Test Automation Framework (20)

PPTX
Unit -V 19CS408T - Software Testing Notes
PPTX
Automation Best Practices.pptx
PDF
ScriptlessAutomation.pdf
PDF
What is scriptless test automation and what are its benefits.pdf
PDF
Automation Framework Design
PPTX
Unit 5 st ppt
PDF
Improving ROI with Scriptless Test Automation
PDF
DST Vega test Tool
PDF
Front Cover:
PDF
Front Cover:
PDF
Best Practises In Test Automation
PDF
Evolution of Test Automation
PPTX
Chapter 6 - Test Tools and Automation
PDF
Scriptless Test Automation_ A Complete Guide.pdf
PDF
IRJET- Development Operations for Continuous Delivery
PPT
Coml Psg Automation Approach
DOC
Hybrid framework for test automation
PDF
Scriptless Test Automation is transforming Software Testing
PPTX
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
Unit -V 19CS408T - Software Testing Notes
Automation Best Practices.pptx
ScriptlessAutomation.pdf
What is scriptless test automation and what are its benefits.pdf
Automation Framework Design
Unit 5 st ppt
Improving ROI with Scriptless Test Automation
DST Vega test Tool
Front Cover:
Front Cover:
Best Practises In Test Automation
Evolution of Test Automation
Chapter 6 - Test Tools and Automation
Scriptless Test Automation_ A Complete Guide.pdf
IRJET- Development Operations for Continuous Delivery
Coml Psg Automation Approach
Hybrid framework for test automation
Scriptless Test Automation is transforming Software Testing
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...

More from QuEST Global (erstwhile NeST Software) (8)

PDF
High Performance Medical Reconstruction Using Stream Programming Paradigms
PDF
HPC Platform options: Cell BE and GPU
PDF
Real-Time Face Tracking with GPU Acceleration
PDF
Test Optimization Using Adaptive Random Testing Techniques
PDF
Ultra Fast SOM using CUDA
PDF
MR Brain Volume Analysis Using BrainAssist
PDF
A New Generation Software Test Automation Framework – CIVIM
PDF
FaSaT An Interoperable Test Automation Solution
High Performance Medical Reconstruction Using Stream Programming Paradigms
HPC Platform options: Cell BE and GPU
Real-Time Face Tracking with GPU Acceleration
Test Optimization Using Adaptive Random Testing Techniques
Ultra Fast SOM using CUDA
MR Brain Volume Analysis Using BrainAssist
A New Generation Software Test Automation Framework – CIVIM
FaSaT An Interoperable Test Automation Solution

Recently uploaded (20)

PPTX
hospital managemt ,san.dckldnklcdnkdnkdnjadnjdjn
PPTX
Lecture 5 Software Requirement Engineering
PPTX
Human-Computer Interaction for Lecture 2
PDF
CapCut PRO for PC Crack New Download (Fully Activated 2025)
PPTX
Airline CRS | Airline CRS Systems | CRS System
PPTX
Bista Solutions Advanced Accounting Package
PDF
Type Class Derivation in Scala 3 - Jose Luis Pintado Barbero
PDF
E-Commerce Website Development Companyin india
PDF
MiniTool Power Data Recovery 12.6 Crack + Portable (Latest Version 2025)
PPTX
Download Adobe Photoshop Crack 2025 Free
PPTX
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
PPTX
4Seller: The All-in-One Multi-Channel E-Commerce Management Platform for Glob...
DOC
UTEP毕业证学历认证,宾夕法尼亚克拉里恩大学毕业证未毕业
PPTX
Python is a high-level, interpreted programming language
PPTX
HackYourBrain__UtrechtJUG__11092025.pptx
PDF
novaPDF Pro 11.9.482 Crack + License Key [Latest 2025]
PDF
BoxLang Dynamic AWS Lambda - Japan Edition
PDF
Multiverse AI Review 2025: Access All TOP AI Model-Versions!
PPTX
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
PDF
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
hospital managemt ,san.dckldnklcdnkdnkdnjadnjdjn
Lecture 5 Software Requirement Engineering
Human-Computer Interaction for Lecture 2
CapCut PRO for PC Crack New Download (Fully Activated 2025)
Airline CRS | Airline CRS Systems | CRS System
Bista Solutions Advanced Accounting Package
Type Class Derivation in Scala 3 - Jose Luis Pintado Barbero
E-Commerce Website Development Companyin india
MiniTool Power Data Recovery 12.6 Crack + Portable (Latest Version 2025)
Download Adobe Photoshop Crack 2025 Free
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
4Seller: The All-in-One Multi-Channel E-Commerce Management Platform for Glob...
UTEP毕业证学历认证,宾夕法尼亚克拉里恩大学毕业证未毕业
Python is a high-level, interpreted programming language
HackYourBrain__UtrechtJUG__11092025.pptx
novaPDF Pro 11.9.482 Crack + License Key [Latest 2025]
BoxLang Dynamic AWS Lambda - Japan Edition
Multiverse AI Review 2025: Access All TOP AI Model-Versions!
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...

BX-D – A Business Component & XML Driven Test Automation Framework

  • 1. Business Component & XML Driven Test Automation Framework, BX-D Submitted to Balamurali L Pradeep P P Rathish M M Samiya Salim Group Manager – SQA Senior Lead Engineer – Testing Lead Engineer – Testing Lead Engineer – SQA Network Systems and Technologies (P) Ltd. A3, Periyar, Technopark, Thiruvananthapuram, Kerala.
  • 2. 1. Abstract Test Automation is an accepted technique which is adapted by the industry for increasing the effectiveness of the testing phase. The recurring tasks are being automated by the tools thus simplifying the human efforts and results in increased quality of product under test. A study of test automation programmes in the industry reveals the fact that a good percentage of them fail to find the intended results. A pareto analysis revels that majority of the failures are the result of lack of capability overlap of test resources in the domain and test automation. In order to have success in a test automation program, the test engineers should be knowledgeable in the test automation tool as well as the domain under test. In practical scenario it is seen that, many a times, the test engineers who are experts in the domain are not fully capable of test automation due to lack of their awareness in testing tools. The paper explains the experience of authors in creating an XML Driven business component test automation Framework – BX-D, which simplifies the test automation by concealing the complexity of script development. Test automation of a single product can be done using different test automation tools based on the customer demands using BX-D framework. It also ensures that multiple tools can be used for test automation of the same product which inturn reduces the limitations of the tools. The horizons of BX-D are wide open with the opportunities of cloud testing which is going to conquer the software testing world. 2. Industry Practice and Lacunae The software industry has started embracing test automation as a practice for increasing the productivity. During the initial planning of the project itself, the effort and time for test automation is estimated. The tool for test automation will be identified in the initial period and procurement of licence and training as per the requirement is planned to ensure smooth test automation. The effort for test automation is a function of the number of tests which is planned to be automated. It is a well accepted fact that all the test cases are not planned to be automated due to the limitation of the tool which is used for test automation. The tests which are planned to be automated will be identified during the test design phase. Once the candidate features implemented in the product is received by the testing team, the test automation of identified test cases will be done by the test engineers. When a product branching happens, test automation also takes a branching, but rarely as efficient as branching of source code. Separate scripts have to be maintained for each product line. Even though it has been years since the initiative is in air, test automation is yet to come out of the childhood discrepancies. Even though test automation has been considered as one of the best methodologies that can be adapted for improving the productivity of the projects, there is reluctance in adapting test automation to the project. The lack of competency for performing test automation, intricacy in choosing the apt tool for automation and the demands of a highly ambitious market can contribute to one of the factors for this reluctance.
  • 3. i. Competency Requirement "For the most part, testers have been testers, not programmers. Consequently, the 'simple' commercial solutions have been far too complex to implement and maintain; and they become shelfware." - Carl J Nagle Figure 1 : Competency Requirement of a tester Test automation includes designing test ware, implementation of the test cases and monitoring and closure of the results more than just executing the test cases. The test cases developed by the tester needs to be converted to machine executable code for performing test automation. Scripting has a very important role in test automation which in turn means that programming skills has become a vital factor in test automation. For developing the test cases domain knowledge is required and for automating those test cases programming skills are required. The competency required for a tester for a product which required test automation should be a blend of good domain knowledge and coding skills. This blend of competency seems to be lacking in the current industry which creates reluctance to the usage of test automation tools in the current industry. ii. Choose the right tool Figure 2 : Choose the right tool
  • 4. Apt tool selection for test automation is one of the challenges faced by the test engineers. The features supported by the different automation tools vary. It can also seen that many a times all the features of a product cannot be automated using a single test automation tool. It can also be noted that purchasing a costly tool for doing the automation of some features of the SUT is not cost effective. It all points towards having a framework available in such a way that different tools can be used simultaneously for the test automation of the SUT. iii. Version Complexity Figure 3 : Different versions delivered to different customers Different versions of a product will be created from base version of the product in a product line as shown in Figure 3 and will be delivered to multiple customers. The most important challenge in front of the tester is how to automate testing of the different versions of this product. Automation is been done for each version of the product which means that the automation of the core functionalities are repeated for each version which results in huge wastage of effort, resource and time. In this scenario if any change is incorporated in the base version of the product automation scripts needs to be repeated for all the versions in which the change is affected which in turns results in the huge effort for the maintenance. 3. Suggested Solution The most imperative factor for the disinclination towards test automation is  Huge effort which is contributed by the lack of expertise of the resource  Maintenance effort for incorporating the change due to customization of product into the automation script  Lack of skill in opting the right automation tool  Cost involved and skill required for using different automation tools in single product The resolution to all the concerns mentioned above can be achieved through brining in a centralized test automation framework. This framework should be
  • 5.  Easily adaptable to the customization done in the product  Reduce the dependency to the programming skills needed by the tester  Supports multiple test automation tool BUSINESS COMPONENT AND XML DRIVEN TEST AUTOMATION FRAMEWORK (BX-D) provides the solution for all the scenarios which are creating disinclination towards test automation and supports all the demands for a centralized test automation framework. BX-D framework helps to utilize the skills of the persons who have good knowledge in the domain and test automation skills in a unique way. The testing team of an organization shall be divided into two teams – Domain experts and Automation experts. The responsibility of the domain expert is to study the product and domain and create the corresponding testing artifacts. Automation experts shall be responsible for implementing the business components received from the domain expert in the test automation tool. Domain experts can select the business components to create the test scenarios for test execution easily from the BX-D framework. The workflow of the BX-D framework is as mentioned in Figure 4. Figure 4 : Workflow of BX-D framework
  • 6. I. BX-D Framework Architecture BX-D has been built with four layer architecture – System under Test, Test Tool Layer, Test Case Layer and Framework Layer. Figure 5 shows the architecture for the test automation framework, BX-D. Figure 5 : Architecture Framework of BX-D System under Test is the product for which the testing process is been conducted. i. Framework Layer As per the list of business components which has been given by the domain experts, business components and test scenarios are created in this layer. The test scenarios generated shall be saved for specific tool or specific customer. The main modules in this layer are Test Execution Configurator, Business Component Service, Test Scenario Generator, Test Scenario Collection and Test Result Poll Service a. Test Execution Configurator BX-D framework can be configured for different test automation tools and for different customers. The tools which are configured in the test tool layer shall be listed in the Test Execution Configurator and test engineer can select the tools and customer for which the test scenarios are being generated. This module gives the provision to add, delete and save new tools and customers to the framework. Figure 6 shows the screenshot of the test execution configurator
  • 7. Figure 6 : Test Execution Configurator b. Business Component Service Business Component Service Module has two components – Business Component (BC) Collection and BC editor. The business components as listed down by the domain experts shall be created using the BC editor. The BC editor gives the provision to select the tools for which the business components need to be added. Figure 7 shows the screenshot of BC editor for a login feature. Figure 7 : Business Component Editor Business components are created and saved for specific tool using the business component editor and the business components thus created shall be listed down in the business component collection. BC collection lists down the business components and the tools in which the BC is implemented. Figure 8 shows the screen shot of BC collection
  • 8. Figure 8 : Business Component Collection c. Test Scenario Generator The business components thus created can be dragged and dropped to the test scenario generator and can be customized as per the requirement. Figure 9 shows the screenshot of the test scenario editor Figure 9 : Test Scenario Generator The test scenarios generated can be saved as test cases in xml format to the test case layer of the BX-D framework as shown in Figure 10.
  • 9. Figure 10 : Scenario saved to XML layer d. Test Scenario Collection The scenarios and test cases created using the test scenario generator can be viewed at the test scenario collection of the BX-D framework as shown in Figure 11. Figure 11: Test Scenario Collection e. Test Result Poll Service The test scenarios shall be selected and executed by clicking the Run button as shown in Figure 12. Figure 12 : Test Scenario Execution
  • 10. The test results of the test cases shall be listed in the test results viewer of the BX-D framework as shown in Figure 13 Figure 13 : Test Results Viewer ii. Test Case Layer The test cases which are generated using the test scenario generator shall be saved in XML format in the test case layer of the BX-D framework. These test cases shall be organized under each test automation tool as shown in Figure 14. This is an intermediate layer which will be generated when test cases are saved in the BX-D framework. Figure 14 : Test Case Layer iii. Test Tool Layer Automation Engineers shall be responsible for the activities which are done in the test tool layer. The XML test cases are parsed into the test automation tool. The automated test executions will happen as defined in the test automation scripts developed by the automation engineers. 4. Advantages One of the most important factors for the disinclination towards test automation is the expertise which is required for test automation and complexity involved in the maintenance of the automation scripts in a product line. BX-D framework provides a well defined platform for the testing resources to express their testing skills and automation skills. The test engineers can showcase their testing skills without having the fear of lack of awareness in automation whereas automation engineers have an ideal platform to showcase their automation skills. The distinction of the test engineers has brought in reduction of the effort which was spend for the maintenance of the automation scripts done by less skilled resources where customization of the products were done for different customers.
  • 11. The high cost involved in using different automation tools for testing of one product is solved through BX-D framework. Different features in one product can be tested using different automation tools and the effective combination of open source and licensed tools resulted in cost optimization and optimized utilization of the tools without affecting the budget allocated for the project. Testing can be scheduled overnight using different tools and test engineers shall be receiving the test results in the morning. The demands of multiple customers for test automation of the same product can be achieved by using the BX-D framework. The versions are configured in such a way that by choosing a particular version the test cases corresponding to that shall be executed. This has enhanced customer satisfaction without putting additional effort, cost and complexities. Even though it is seen in the architecture diagram that it is a complex diagram, it is an easily adaptable framework. Test cases can be saved for each customer and also for different versions of the product. Also easy drag and drop feature in the framework allows the test engineer to easily create the test cases needed for a particular version or customer thereby increasing the productivity. 5. Case Study The product is a web based solution for element management. There is a framework for the product and customized versions are delivered to different customers across the globe. It was really painful to ensure quality multiple product lines simultaneously since different customers are using different versions and new features are added to the latest version for competing in the market. The test team dedicated for the product was lacking expertise in test automation tools but has expertise in manual testing and in the domain. On considering the situation, it was decided by the QA department to design an automated test automation framework which gave birth to BX-D. This enables the testing team to develop automated tests even without the knowledge of test automation tools. The goal was to develop a test framework which segregates the scripting part and test case design so that test automation experts will handle complex scripting part and domain experts will create test cases using the business components created by the test automation experts. It was also decided to bring the flexibility to integrate multiple testing tools to the framework so that maximum usage of open source tools can be ensured and licensed tools can be used only for those areas where open source tools fails to support some technologies/ user interface controls. It also helped to ensure the optimum usage of licensed tools across the projects and increased the return on investment on tool purchases across the organization. Domain experts were also given the freedom to choose the version of product against which the test has to be executed and the complexity of the implementation of the same is masked from them. About 80 percentage of the tests could be implemented using the open source tool Selenium and remaining 20 percentage were done with the licensed tool Testcomplete. An existing floating license of Testcomplete could be reused for the project without affecting the work of other projects. It was also decided to institutionalize BX-D across the organization which helped to share the licenses of test automation tools effectively.
  • 12. 6. Return on Investment By institutionalizing BX-D across the organization we got multidimensional advantages. It created a huge impact on the direct cost of tools and indirect cost of effort. About 80% of the test cases could be automated using free tools and the usage of licensed tools could be minimized to 20%. This helped to reduce the cost of tool licenses by 80% across the organization. Training cost on testing tools also reduced by 70% since a dedicated team of test automation only needs to be trained. There is huge impact on maintenance cost since it is easy to adapt product changes into test cases. Maximum reuse of test scripts against multiple product lines also gained. 7. Future Work BX-D framework can be made more cost effective when it is integrated to the evolving concept of cloud network. BX-D framework gives the flexibility to use different automation tools in one product. Rather than an organization buying a tool for doing the test automation of some features in a product, using BX-D the tools can be taken from cloud for testing and the organization had to do the payment only for the time in which the tools is been used from cloud. This will widen the spectrum of usage of test automation tools thereby improving the productivity of the organization in a highly cost effective method. 8. Acknowledgement The Authors are thankful to Mr. N. Jehangir, Vice Chairman & Managing Director, NeST Group and Mr. S Sasikumar, President of NeST, Trivandrum for their support in carrying out this work. We are grateful to Mr. Sebastian Ukken, Associate Vice President and Mr. Rajagopal K, Senior Manager & Associate Practice Head for their useful discussions and suggestions at different stages of this work. All the members of Quality and Testing Group of NeST are acknowledged for their support. 9. Author Biography Balamurali is working as Senior SQA Manager at Network Systems and Technologies (NeST). He took his M.Tech from Indian Institute of Technology (IIT) Kanpur and has more than 12 years of experience in the industry. Has played a lead role in implementing the models like CMMI1.1, CMMI 1.2, and ISO9001:2008, Automotive SPICE, ISO 27001, IEC61508 and ISO 13485. He has worked as an Assessment Team Member for CMMI V 1.2. A CSQA & CQSPE from QAI, he is also a Certified Tester (advanced level- Test Management) by ISTQB, he is involved in activities of Indian Testing Board and plays an active role in the core group of the Trivandrum chapter of Software Process Improvement Network (SPIN). He also a certified Test Manager, Information Security Professional and Internal Auditor by Department of IT, Govt. of India. He can be contacted at [email protected]
  • 13. Pradeep P P is working as Senior Lead Engineer and is managing testing activities for a delivery unit. He has 11 years of experience in software testing industry. He is an Engineering graduate from College of Engineering, Trivandrum under Kerala University. He is a Certified Test Manager by STQC and Certified Tester by ISTQB - Advance Level Test Manager. He gives consultancy for various testing tools like Selenium, J-Meter, QTP, Rational Functional Tester and Test Complete. He can be contacted at [email protected] Rathish M M is bearing the role of Test Lead. He has received his B Tech in Computer Science and engineering from College of Engineering, Trivandrum under Kerala University. He got certifications such as Microsoft certified Technology Specialist (MCTS), IBM Rational certified tester for Rational Functional Tester (RFT), IBM Rational certified Tester for Rational Performance tester (RPT), Certified Tester by ISEB-ISTQB, Nest certified professional for Selenium, J-meter, QTP, Load runner and Test complete. With more than 8 years of extensive experience in Software Testing industry, he gained sound knowledge in test automation and performance testing. He can be contacted at [email protected] Samiya Salim is working as Lead Engineer QA at Network Systems and Technologies (NeST). She took her B.Tech from Cochin University and has more than 6 years of experience in software and manufacturing industry. She played a key role in implementing CMMI v1.2 and IEC 61508. She is a Certified Software Quality Professional by STQC, Ministry for Information Technology; Govt. of India and ISTQB foundation level certified. She may be contacted at [email protected].