Time Series Foundation Models - current state and future directions
Selenium Camp 2012
1. Designing Automation
Framework for Web
Applications Testing through
TDD
• Anatoly Zhukov
azhukov@ggasoftware.com
• Yan Alexeenko
alexeenko@ggasoftware.com
2. About Us
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
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
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
12. Test Driven Development
Write a test that fails
Write a test script code
that can’t be compiled
Eliminate
redundancy
Make the code work
The 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
16. Code of Test
Singleton
Panel.get()
.action() Return Panel
instance
.control
.controlAction()
.[action()/control]…;
16
17. Example
ControlPane.get()
.open()
.page.click()
.fullScreen.click()
.close();
Generic
public 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
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