selenium camp 2012

Post on 26-Dec-2014

953 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Designing Automation Framework for Web Applications Testing through TDD

TRANSCRIPT

• Anatoly Zhukov azhukov@ggasoftware.com

• Yan Alexeenko alexeenko@ggasoftware.com

Designing Automation Framework for Web Applications

Testing through TDD

About Us

2

Yan Alexeenko - Senior QA Engineer• 4+ years of experience• Expert in desktop/web manual/automation testing• Expert in performance testing• Expert in testing of signal processing algorithms • Test framework developer

Anatoly Zhukov - Senior QA Engineer.• 3+ years of experience• Expert in desktop/web manual/automation testing• Expert in performance testing• Test framework developer• Active participation in software-testing.ru community

About GGA Software Services

3

200-Person Software Engineering Team:• Business Analysis• System Design• Software Engineering• Software Testing• Documentation• Training• Project Management• Quality Assurance

GGA’s high-throughput screening application won a global innovation award at a leading pharmaceutical company.

Data

SupportScience

Software

Quality Assured• Independent team for testing

and quality assurance• 70 professionally trained quality

engineers• Domain experts in scientific

disciplines and software/IT technical skills• QA services available to assist

client’s internal development teams

Presentation Plan

4

Objectives

Development Problems

Problems Resolving

Techniques & Technologies

Object Patterns

Reporting

Results

Our Objectives

Flexible

Convenient

Scale

Functional

Fast

5

6

Development Scheme

Customer

I want to…

Developer

Manager

My vision

of it is…I believe he wants…

Development Problems

7

What’s doing?

Customer

8

In our case

9

I know what I want…

I know how to do it…

TDD

Build manager

Continuous Integration

Simple Object Pattern

Simple Result Analysis

10

We want…

Java

Selenium 2 (aka WebDriver)

TestNG

AutoIT

11

We use…

Test Driven Development

12

The mantra of Test-Driven Development (TDD) is “red, green, refactor”

Make the code work

Eliminate redundancy

Write a test that fails

Write a test script code that can’t be compiled

Maven

Maven is a software project management and

comprehension tool

Maven is a site and documentation tool

Maven extends Ant to let you download dependencies

Maven is a set of reusable Ant scripts

What is wrong with Maven? – Access to repository.

13

Object Description

14

Panel – div that contains simple controls

Controls – Links, Buttons, Inputs, etc.

Object Description

15

<div id=“subpanel1_3” class=“…” style=“…”>

<input id=“pageNumberInput” … >

Code of Test

16

Panel.get().action().control

.controlAction().[action()/control]…;

Singleton

Return Panel instance

Example

17

ControlPane.get().open().page.click().fullScreen.click().close();

public class ControlPane extends BasePanel<ControlPane>…

public final Button<ControlPane> page = new Button<ControlPane>("Name", "Locator", this);

Generic

Using Standard Maven Layout &

ResourceBundle

18

Properties for Panels & Controls

ControlName = [id/xpath/css]=[locator]

Properties like

Reporting

Simple & Dynamic Creation

Style Customization

Easy for Use

• Visualization (Levels, Links to source code, Screenshots,

Asserts and Exceptions)

• Traceability

HTML 19

Reporting Process

20

HTMLCSSJS

jquery.load()

Message 1

Log File

Message 2

Message 3

Jenkins Tasks

21

Maven Goals & Options

-Dtestng_xml=[Config File].xml clean test

clean compile -DskipTests javadoc:aggregate

Reporting Example

22

business level

component level

technical level

asserts

Java Docs

23

Convenient test writing framework

Flexible and extendable system

Simple and clear reports

Continuous Integration

Documented source code

Satisfied customer

24

Results

Code Lifecycle

Test Script

ComponentsBase Functionality for testing

? ?

?

Controls

Selenium Web Driver

Reporter API

Unit testing Web Services

UI testing

25

26

Questions?

top related