Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Improving Web Application Quality - SenchaCon Roadshow 2016

Sencha
June 05, 2017
110

Improving Web Application Quality - SenchaCon Roadshow 2016

Sencha

June 05, 2017
Tweet

Transcript

  1. Agenda • Sencha Test for - Developer - QA Engineer

    - DevOps Engineer • Sencha Test features • Demo
  2. Tom’s dreams • Less bugs • Easy refactoring • Better

    code understanding • Better code design
  3. Runtime environment In-Browser • Single-page application • Run application and

    tests in browser • Run in several browsers simultaneously Web Driver • Multi-page application • Run tests outside of the browser using WebDriver • Test any web applications
  4. Sencha Test API • Component/Element future wrapper - ST.grid() -

    ST.component() - ST.element() • Calls that wait for the component to be in a certain state - .rendered() - .disabled() • Actions - .click() - .type(’mytext')
  5. Sencha Test API • Assertions - .expect('value').toBe('test-username') - .expect('innerHTML').toContain('my-container') -

    .expect('visibility').toBe('visible') - .get('height') .and(function () { expect(this.future.data.height).toBe(200); }))
  6. Sencha Test Inspector • find component locators • paste locators

    directly into the test code or create page object
  7. Sencha Test Page Object • clean separation between test code

    and component locators • single repository for the components on the page
  8. Alice’s dreams • Easy test writing automation • Good code

    coverage • Defense against regressions
  9. Runtime environment Web Driver • Multi-page application • Run tests

    outside of the browser using WebDriver • Test any web applications
  10. Event Recorder • Faster test creation • Improved element locator

    strategies lets to avoiding the use of dynamic IDs • Choosing component locator strategy • Editing values in recorded script
  11. Visual Screen Comparison • Visual comparison of application screenshots generated

    in different browsers: - ST.screenshot • Fixed screen size settings for visual testing
  12. Steve’s dreams • More confidence in the code, less fear

    about releases • Easy releases automation • Be able to release at any time
  13. Selenium server and Browser farms • Integration with browser farms

    • Integration with Selenium WebDriver • Embedded Selenium Server and Browser (Chrome)
  14. Archive Server • Review and Analyze Test Results from Multiple

    Runs • Remote and Local Archive Servers
  15. ALM Integration • Publish bugs directly to the JIRA project

    • Ignore false negatives • Review the latest bug status
  16. Continuous Integration CI • Integration with Jenkins and Team City

    • Command Line Interface (CLI) • Store results from multiple Continuous Integration (CI) runs
  17. Continuous Integration • True automation - Let the machine do

    the heavy lifting • Run Tests at every stage • Integrate with build systems • Run tests on multiple environments - QA - Staging - Production • Leverage browser farms
  18. What’s in Sencha Test 2.1? • Inspector • Page Object

    • External Libraries • Local Archive Server • Generation of screenshots by running tests from Sencha Studio • ALM Integration