Your SlideShare is downloading. ×
Selenium Camp 2012
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Selenium Camp 2012

976
views

Published on

Designing Automation Framework for Web Applications Testing through TDD

Designing Automation Framework for Web Applications Testing through TDD

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
976
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Designing Automation Framework for WebApplications Testing through TDD • Anatoly Zhukov azhukov@ggasoftware.com • Yan Alexeenko alexeenko@ggasoftware.com
  • 2. About UsAnatoly 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 communityYan 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 2
  • 3. About GGA Software Services  200-Person Software Engineering Team: Software • Business Analysis Data • System Design • Software Engineering Science Support • Software Testing • Documentation • Training Quality Assured • Project Management • Independent team for testing • Quality Assurance and quality assurance • 70 professionally trained quality GGA’s high-throughput engineers screening application • Domain experts in scientific won a global disciplines and software/IT innovation award at a technical skills leading pharmaceutical • QA services available to assist company. client’s internal development 3 teams
  • 4. Presentation Plan Objectives Development Problems Problems Resolving Techniques & Technologies Object Patterns Reporting Results 4
  • 5. Our Objectives Functional Convenient Fast Flexible Scale 5
  • 6. Development Scheme I believe he wants… Manager Customer Developer 6
  • 7. Development Problems 7
  • 8. What’s doing? Customer 8
  • 9. In our case I know what I want… I know how to do it… 9
  • 10. We want…  TDD  Build manager  Continuous Integration  Simple Object Pattern  Simple Result Analysis 10
  • 11. We use…  Java  Selenium 2 (aka WebDriver)  TestNG  AutoIT 11
  • 12. Test Driven Development Write a test that fails Write a test script code that can’t be compiled Eliminate redundancy Make the code workThe mantra of Test-Driven Development (TDD) is “red, green, refactor” 12
  • 13. 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
  • 14. Object Description Controls – Links, Buttons, Inputs, etc. Panel – div that contains simple controls 14
  • 15. Object Description <div id=“subpanel1_3” class=“…” style=“…”> <input id=“pageNumberInput” … > 15
  • 16. Code of Test Singleton Panel.get() .action() Return Panel instance .control .controlAction() .[action()/control]…; 16
  • 17. ExampleControlPane.get() .open() .page.click() .fullScreen.click() .close(); Genericpublic class ControlPane extends BasePanel<ControlPane>… public final Button<ControlPane> page = new Button<ControlPane>("Name", "Locator", this);… 17
  • 18. Properties for Panels & Controls Using Standard Maven Layout & ResourceBundle Properties like ControlName = [id/xpath/css]=[locator] 18
  • 19. Reporting  Simple & Dynamic Creation  Style Customization  Easy for Use • Visualization (Levels, Links to source code, Screenshots, Asserts and Exceptions) • Traceability HTML 19
  • 20. Reporting Process Log File Message 1 HTML CSS Message 2 JS jquery.load() Message 3 20
  • 21. Jenkins Tasks Maven Goals & Options -Dtestng_xml=[Config File].xml clean test clean compile -DskipTests javadoc:aggregate 21
  • 22. Reporting Example business level component level technical level asserts 22
  • 23. Java Docs 23
  • 24. Results  Convenient test writing framework Flexible and extendable system  Simple and clear reports  Continuous Integration  Documented source code  Satisfied customer 24
  • 25. Code Lifecycle Test Script Base Functionality for ? ? Components testing ? UI testing Controls Selenium Web Driver … Unit testing Web Services Reporter API 25
  • 26. Questions? 26