34. Cucumber Example @smoketest @editions Scenario: International user accessing the news website Given I am a user outside the UK When I visit the News website Then I should be redirected to the International Edition And I should see adverts on the page
35. Given /^I am a user outside the UK$/ do pending end When /^I visit the news website$/ do pending end Then /^I should be redirected to the international edition$/ do pending end Then /^I should see adverts on the page$/ do pending end
36. Given /^I am a user outside the UK$/ do @helpers.set_proxy(INTERNATIONAL) end When /^I visit the news website$/ do @browser.open(“/”) end Then /^I should be redirected to the international edition$/ do assert_equal(true, @page.is_international?) end Then /^I should see adverts on the page$/ do assert_equal(true, @page.ads_present?) end
37.
38.
39. Test Environments Test (Manual Exploratory Tests) Int (Dev & Unit Testing) Stage (NFR + Config Testing) Test XE (Automated Acceptance Tests)
40. Test Data Management Test XE QA Workbench Create Test Data Test Data Copied Over Execute Automated Tests Republish
The talk is given in the context of work at the BBC This is one of the first versions of the BBC News website
Site evolution
Stories uploaded by journalists world-wide Widened More focus on AV (VoD and live streaming) Feeds and syndication Multiple editions Driven by both legacy and new toolsets Incorporation of number of technologies
With limited technical resources, we needed to unify technologies from a testing perspective
With limited technical resources, we needed to unify technologies from a testing perspective
With limited technical resources, we needed to unify technologies from a testing perspective
With limited technical resources, we needed to unify technologies from a testing perspective
- Introduce myself and what I do - Introduce talk Common practice: Test automation is a technical problem which must be solved by technical people Hence we hire teams of …
- Introduce myself and what I do - Introduce talk Common practice: Test automation is a technical problem which must be solved by technical people Hence we hire teams of …
With limited technical resources, we needed to unify technologies from a testing perspective
We chose Ruby…because… Easier to learn Loose syntax makes it ideal for DSLs Can speak to other languages
How roles combine
Executable tests in natural language Non-technical people can - write scripts - collaborate with product managers - maintain vocabulary
Regular expressions make code executable Non-technical people can create these rules as well Pending keyword will point out tasks to engineers
Regular expressions make code executable Non-technical people can create these rules as well Pending keyword will point out tasks to engineers
- Introduce myself and what I do - Introduce talk Common practice: Test automation is a technical problem which must be solved by technical people Hence we hire teams of …