New trends in testing automation

Post on 09-Dec-2014

5.210 views 1 download

Tags:

description

Trends in automation testing presentation given by Lior Katz, TACT testing at QA Extreme 2011 conference.

Transcript of New trends in testing automation

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

�� �!������"�� �!������"

���# �������$���# �������$

������������������ ��������������������

052-2424314052-2424314ryonish@tact.co.il