Upload
romexsoft
View
59
Download
4
Tags:
Embed Size (px)
Citation preview
Romexsoft - Quick Facts
● started in 2004
● more than 80 successfully accomplished projects
● based in Lviv, number one IT outsourcing center in Ukraine
● Agile friendly company
● our services
○ Custom software development
■ back end
■ web
■ mobile
○ DevOps
○ Quality Assurance
○ User experience
○ Technical consulting
BelievesPeople and reputation are our major accomplishments. Competencies, out of the box thinking, positive attitude to people and life, as well as ethics of characters, are a keystone of mutual success.It primarily stands out for its team that likes working creatively, strives to gain new knowledge, hones the skills, and introduces changes into the whole company operation.We aim to build an Agile company with unique cultural environment, a place where product owners, teams and individuals produce superb products & services through commitment and passion to software development.Through hiring the most qualified engineers, investing in their professional development, continuously challenging them, and always self-improving, we will excel both as an employer and a trusted vendor.
Behavior-driven development (BDD) BDD Approach
● It is an executable documentation● Can be used by all stakeholders involved in a project● Clears out the misunderstandings between customers, domain experts, developers, QA, etc.
BDD Meets Customer’s / User’s Expectation:● Use Cases / User Stories
o Series of acceptance criteria (scenarios)o Each scenario has givens, events and outcomes (Given/When/Then)
● Behaviouro Expressed as a test method and implemented by developer/automation engineero It defines what the application should / should not do
NOTE: Unit Testing Meets Developers Expectations
BDD Process & flow in AT
Customer
QADomain Expert AT Engeneer
Continious Integration
Exercise expectationsStories matches to Behaviour matches to test classes
BDD - GIVEN, WHEN, THEN
Feature / User Story: Search by keyword
In order to find items that I would like to purchase
As a potential buyer
I want to be able to search for items
containing certain words
Scenario Outline: Should list items related to a specified keyword Given I want to buy an HD camera When I search for items containing 'HD' Then I should only see items related to 'HD'Scenarios:| Article | Keyword || Electronics | HD || Electronics | Camera || Wine | Red |
BDD - User Story & Scenario (QA/AT)
public class SearchByKeywordStepDefinitions { @Steps BuyerSteps buyer;
@Given("I want to buy (.*)") public void buyerWantsToBuy(String article) { buyer.opens_eshop_home_page(article); }
@When("I search for items containing '(.*)'") public void searchByKeyword(String keyword) { buyer.searches_for_items_containing(keyword); }
@Then("I should only see items related to '(.*)'") public void resultsForACategoryAndKeywordInARegion(String keyword) { buyer.should_see_items_related_to(keyword); }}
BDD - Test Class
BDD - Reports
BDD - Reports
ReferencesSelenium WebDriverhttp://www.seleniumhq.org/projects/webdriver/Web Browser Automation Framework
Appiumhttp://appium.io/Appium is an open source test automation framework for use with native, hybrid and mobile web apps. It drives iOS and Android apps using the WebDriver protocol.
Cucumberhttps://cucumber.io/Cucumber BDD framework lets software development teams describe how software should behave in plain text.
Serenity BDD (previously known as “Thucydides”)http://www.thucydides.info/#/Effective automated acceptance tests, and use these acceptance tests to produce world-class test reports and living documentation
Sauce Labshttps://saucelabs.com/Automated testing in the cloud for CI.Selenium testing, mobile testing, JS unit testing on over 500 OS/browser platforms.
Questions
?