new trends in testing automation
DESCRIPTION
Trends in automation testing presentation given by Lior Katz, TACT testing at QA Extreme 2011 conference.TRANSCRIPT
New Trends in Testing AutomationNew Trends in Testing Automation
Changing the concept Changing the concept Changing the concept Changing the concept Test Automation frame workTest Automation frame workTest Automation frame workTest Automation frame work
Key Driven Test Key Driven Test Definition
Keyword Driven Testing is a comprehensive, cross-Keyword Driven Testing is a comprehensive, cross-organization test design solution that bridges the gap between the Test Automation team and the rest of the between the Test Automation team and the rest of the roles involved in the testing process. It allows both manual testers and other subject-matter experts to manual testers and other subject-matter experts to design, build and execute test automation scripts without any programming knowledgeany programming knowledge
Limitation of Testing Automation Limitation of Testing Automation
Process• Design – Specific design• Design – Specific design• Execution – separate execution and separate results
Maintenance• Test Automation require maintenance shifting from version to
version ExpertiseExpertise
• Automated Testing tool software developers• System experts• Test engineers• Test engineers
KDT advantages KDT advantages
• Increase Testing Automation coverage• Faster ROI• Faster ROI• Join effort between automated testing and
Manual testing (Omnitest)Manual testing (Omnitest)• Manual testing and automation executed
togethertogether
The KDT language The KDT language
Basic Terms• Test case – A set of conditions or variables under which a tester • Test case – A set of conditions or variables under which a tester
will determine whether an application or software system is working correctly or notworking correctly or not
• Keyword - A word or identifier that has a particular meaning to the programming language
KDT TermsKDT Terms• Action – A perform action on a specific GUI object• Automated TC’s – a sequence of actions represent TC flow
When/Where to implement KDT When/Where to implement KDT
• Testing Automation already implemented• Testing Environment ready to go• Testing Environment ready to go• Keep all management requirement from Testing
Automation aspectsAutomation aspects• Keep Automation developers update with the
processprocess• Massive amount of TC’s
����������� ������������ ��������������������� ������������ ����������Testing automation frame work – Layers structure
1 Mapping OR 2 Develop GUI & Business function 3 Develop scripts 4 Execution maintenance via QTP
Testing automation frame work – Key Driven Test
1 Mapping OR 2 Develop Scripts via KDT 3 Generate QTP code 4 Execution via QTPmaintenance via KDT tool
����������� ��������������� ����
� ��� ������� ������������ ��� ������� �����������
. CommentMaintenanceExecutionDevelopmentPlanning WorkFrameFrame
Very easy to maintain ONLY
GUI function and Objects
Execute via QC or via automated
engine
Develop GUI and business
function
No planning is needed
ONLY
Layer
and Objects changes
engineONLY manual
TC’s
Can be a Via the KDT Need to All KDT Can be a problem, not
much experience with working
Via the KDT tool
Need to develop
infrastructure via automated
All planning via the
KDT tool
KDT
with working projects
via automated tool
KDT tool
����������� ��������������� ����
����������������� ���������������������� �����
. OmniTest – OmniSys Via XLS file
Tesnet – KDT HP BPTTesnet – KDT HP BPT
Test planner -QualitestQualitest
����������� ��������������� ����
����������������� �� ������������������ �� �
.
�����������.
• KDT is the next Testing Automation generation• Current status KDT work as a POC in several places still need to Ripen in order to • Current status KDT work as a POC in several places still need to Ripen in order to
give the full ROI• KDT will:
• empower the usage with Testing Automation tools• Force the organization to use Automated tools• Increase coverage• Solve maintenance issues• Shortage the development period• Shortage the development period
• Current status:• No company is using a KDT tool as a stable testing environment• Maintenance issues still not resolve completely• Automation expert still take big part in the script development• Automation expert still take big part in the script development
Working in other project environmentWorking in other project environmentTesting automation in Agile environmentTesting automation in Agile environment
The old and “good” (?) water fallThe old and “good” (?) water fallThe old and “good” (?) water fallThe old and “good” (?) water fall“The "traditional" model of software development “The "traditional" model of software development
lifecycle.”
1 Analysis 2 Design 3 Coding 4 Testing
The old and “good” (?) water fallThe old and “good” (?) water fallThe old and “good” (?) water fallThe old and “good” (?) water fallTesting automation life cycle in water fallTesting automation life cycle in water fall
• Only regression testing covered by TA• Testing automation follow the manual testing versions • Testing automation follow the manual testing versions
(always regression testing of the previous version executed)executed)
• TA design always by the manual testing group• Execution Priority by the manual testing manager• Execution Priority by the manual testing manager• Very easy to control and manage
Agile conceptAgile conceptEmphasize collaborative, integrated teams, frequent deliveries, and the ability to adapt to changing business deliveries, and the ability to adapt to changing business needs
Testing Automation in AgileTesting Automation in Agileenvironmentenvironmentenvironmentenvironment
Since working increments of the software are released often in agile software development, there is also a need often in agile software development, there is also a need to test often. This is commonly done by using automated tests to minimize the amount of manual labor involved. tests to minimize the amount of manual labor involved. Undertaking only manual testing in agile development may result in either buggy software or slipping may result in either buggy software or slipping schedules, as it may not be possible to test the entire build manually before each release.
Testing Automation as Testing Automation as part of the scrum teampart of the scrum teampart of the scrum teampart of the scrum team
• Testing automation activities is part of the backlog • Testing automation activities is part of the backlog document
• Automation developer take part in all scrum stages• Automation developer take part in all scrum stages• Automation status is part of the morning meetings• Testing automation is a MUST as part of the scrum
testing scopetesting scope• Automation developer works closely with all team
members (Manual tester, Developer, PMO, etc…)members (Manual tester, Developer, PMO, etc…)
Testing Automation executionTesting Automation executionScrum work flowScrum work flow
• Testing automation execution occur after the first • Testing automation execution occur after the first code delivery
• Usually will try to use existing code• Usually will try to use existing code• API execution is an advantage• Result analyze by the whole scrum team
Some Agile testing principles Some Agile testing principles justify Testing Automationjustify Testing Automationjustify Testing Automationjustify Testing Automation
• Testing moves the project forward• Testing moves the project forward• Testing is not a phase – it’s a way of life (ongoing
execution)execution)• Every body test – Manual testers execute automation• Keep the code clean – rerun testing execution• Test Driven advantage – very easy to • Test Driven advantage – very easy to
develop in automated testing
Testing Automation management Testing Automation management Testing Automation management Testing Automation management processprocessprocessprocess
����������� ����� ��!������ ��������������������� ����� ��!������ ����������Common life cycle
1 Purchase the tool 2Recruit developers 3 Understand ROI 4 Fail to implement
1 Analyze the systemsPurchase the tools 2 Recruit developers
and managers3 Understand ROI 4 Follow TTM
methodology
TTM – life cycle
��������������� � ���������������������� � �������" ��#�$�����
�#����� � ��%�#����� � ��%
& ��# ����#��'���� �� ��� �$��#��'����& ��# ����#��'���� �� ��� �$��#��'����
������'��������� ��� ��!����� ���� ������
� � ������������� ������ � ������������� �����
Testing Automation Readiness Testing Automation Readiness • Developers
4
• Stable environment• Understand business process• Tools readiness• Tools readiness• Testing Automation environment readiness• Developers understand the project scope• Developers understand the project scope• Set expectation
4
Testing Automation Stages
• Sanity SET– Set of ~50 QTP scripts, verify that new build (version) ready for massive – Set of ~50 QTP scripts, verify that new build (version) ready for massive
testing process• Quick ROI Developments
– Packages can retrieve the investment immediately (e.g. API, data driven, data – Packages can retrieve the investment immediately (e.g. API, data driven, data inflation)
• Regression by modulesSo important to make sure NOT to develop all regression tests in one SET, “Before moving forward with the development stage, we need to analyze our system and moving forward with the development stage, we need to analyze our system and divide it by modules, for each module to develop his own automation SET”
• Data Inflation– Using our GUI interface can help with massive data changes– Using our GUI interface can help with massive data changes
4
Testing Tools Management Progress
• Define the project scope• Follow up• Follow up• Testing Automation methodology• Summary
Manage your testing projectManage your testing projectManage your testing projectManage your testing projectALMALMALMALM
Application Lifecycle Management Application Lifecycle Management
����������
�" �����#��� ��� ������'�������� � ��������������� ����" �����#��� ��� ������'�������� � ��������������� ���
������������� $�� ����'���'���������# ��� ����� ��� �$�
������ �����(���������� � ������)� ��#�������)���$���)������� �����(���������� � ������)� ��#�������)���$���)�
�������)��� �����)� �$����� ���� � �������
����� ������������������ �������������
* ���� ������ ����
����� �����
+" �+��!�����
� � ������
,������,������
ALM Stages ALM Stages
��� ���� ����������� � ���� ���� �����
Strategy Strategy
• ��������#������������� �
• & ���� � �• & ���� � �
• ������ �$���� ����'�������
-��.• -��.
Requirement Requirement
• /������� ������• 0������ ��$�����• 0������ ��$�����• �����• �����• �������(��������
Quality Quality
• 0������ �• +������ ����• +������ ����
• ,�������• ,�������
Operational Operational
• ������ ����
• ��(������������� ��• ��(������������� ��
• �������� � ������• �������� � ������
ALM ToolsALM Tools����� ���� ����
������������
The ToolsThe Tools
Open SourceOpen Source
Open source tools
Testing tool for browser-based testing of web applications
A plug-in driven automated testing tool that separates applications into features and allows those features to be tied together independently
An automated functional testing framework for web applications
Types of testing Automation ToolsTypes of testing Automation Tools
Tools cost money
QTP – The MOST common testing Automation tool (41% of the market)
Test Complete – support Extensive platforms Not supported as QTP
Team System 10.00 Coded UI – Testing Automation tool by Microsoft Microsoft
�� �!������"�� �!������"
���# �������$���# �������$
������������������ ��������������������