fundamentals
play

Fundamentals! Tusha Pavuluri August 16, 2017 About Tusha Tusha - PowerPoint PPT Presentation

Software Quality Assurance - Foundations and Fundamentals! Tusha Pavuluri August 16, 2017 About Tusha Tusha leads the QA department at HelloSign.com, one of the major key players in the field of electronic signatures. Along with a Masters in


  1. Software Quality Assurance - Foundations and Fundamentals! Tusha Pavuluri August 16, 2017

  2. About Tusha Tusha leads the QA department at HelloSign.com, one of the major key players in the field of electronic signatures. Along with a Masters in Computer Science, I have several (12+) years of software industry experience in the areas of both quality assurance and development. My career spans from being a Java developer to a Management professional, during which I have been passionate about not only coding in Java and C#, but also the many facets of quality assurance like UI/API/Automation. I also have been playing a key role in advocating the importance of various Agile techniques in determining the ultimate quality of the software product, thereby strengthening the Product/Development/QA teams!

  3. Objectives ● The main purpose of this presentation is to focus on the end to end practical knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development Life Cycle) ● Key takeaways include: ● Understanding how SDLC works in different methodologies. ● Fundamental knowledge of Different roles of QA in a product life cycle. ● Team collaboration between Dev/Product/QA. ● Software QA deliverables. ● Practical approach to deliver a high-quality product on time.

  4. Software Development Life Cycle (SDLC) - What is SDLC? - Phases of SDLC - Models of SDLC - Waterfall - Spiral - V&V - Iterative - Big Bang - Agile

  5. Waterfall Model

  6. Spiral Model example

  7. Iterative Model

  8. Agile Model

  9. Agile - Process Important Keywords and Concepts: ● User stories ● Scrum Boards ● Sprint Backlogs ● Burn down charts (and other charts) Standard Sprint workflow: User Stories -> Implementation/Functional Testing (QA env) -> Deployment to Staging/Preprod -> Regression tests (manual/automated) on Staging -> Release to Prod -> Sanity tests (manual/automated) on Prod.

  10. User Stories ● What is a user story? ● How is an user story useful in an Agile? ● Why is the user story the most “crucial” component for testing? ○ Acceptance Criteria

  11. Acceptance Criteria - Deep Dive Example user story: As an existing user of HelloSign, I want to be able to see the signed signature requests from signers, so that I know that my signature requests have been signed. Example acceptance criteria: ● The Documents page is displayed. ● The Documents page should have sections that indicate different statuses'. The Documents page should display a section with with Completed signature requests. ● ● The Completed signature request should have options to Preview/Download the signature request.

  12. Agile Management Tools Some of the common Agile Management tools: ● JIRA ● Rally ● Version One ● Pivotal Tracker JIRA: ● Workflow Stages

  13. JIRA - Workflows/User Story Practical example of using JIRA to create a user story (to be presented in the session..)

  14. Jira User Story

  15. Jira User Story (cont’d)

  16. Jira User Story (cont’d)

  17. Jira User Story (cont’d)

  18. Jira User Story (cont’d)

  19. JIRA Workflows Practical example as to the workflow states that follow upon creating a user story in a Sprint: (to be presented in the session..) Note that these states can be customized further.

  20. Jira States Jira states..

  21. Jira Workflow Screens

  22. Jira Workflow Screens

  23. Jira Workflow Screens

  24. Jira Workflow Screens

  25. Jira Workflow Screens

  26. Jira Workflow Screens

  27. Jira Workflow Screens

  28. Jira Workflow Screens

  29. Jira Workflow Screens

  30. Jira Workflow Screens

  31. Jira Workflow States Diagram

  32. Collaboration ● Role of QA in a software project. ○ Importance of QA/Test team. ● Collaboration with Dev team.ç ● Association between QA and Product teams

  33. Automation ➢ The Whys ○ Why should we automate? ➢ The Whens ○ When should we automate? ➢ The Whats ○ What should be automated?

  34. Web/UI Automation Tools ➔ QTP ➔ Selenium ➔ TestComplete ➔ Watir ➔ CasperJS ➔ Capybara ➔ etc...

  35. Selenium - Introduction & Basics ➢ Open source ○ Originally developed at ThoughtWorks. Free. ○ ○ Download and install. ➢ Multiple language support ○ Java, Php, Ruby, C#, Python etc. ➢ Selenium IDE UI Based tool. FireFox add-on. Record & Play. Generates code/script which can be modified. ○ ➢ Selenium RC Server written in Java. ○ ○ Client drivers in different languages. Deprecated now. ○ ➢ Selenium WebDriver ○ Uses a Client API to send commands to browser via drivers (Firefox, Chrome, Edge, IE etc.,) HtmlUnit browser or Headless browser. ○ ➢ Selenium Grid Server that enables web browser instances to run on remote machines. ○ ○ Hub -> Servers -> WebDriver nodes (browser instances)

  36. WebDriver - Basics An web element (UI element) can be located using: 1. By ID 2. By CSS 3. By xPath 4. By Tag Name 5. By Class Name 6. By Name 7. By Link Text

  37. Selenium - Maven Dependency

  38. WebDriver - Example Class (Java)

  39. Tools/Add-ons to locate UI elements

  40. Webelement Lookup

  41. Webelement Lookup (Cont’d)

  42. WebDriver - Page Object Model Example - Folder Structure ➢ Maven project (Java) ○ Main/Java ■ Core ■ Utilities ■ Locators ■ Implementation ■ Page Objects ■ Test Data ○ JUnit/TestNG ■ Test classes

  43. Page object model - contd.. ➢ Core ➢ Utilities ➢ Locators ➢ Implementation Interfaces ➢ Page Objects ➢ Test Data

  44. Page Object Model - Cont’d..

  45. Page Object model - contd.. JUnit/TestNG Test Classes Example - GoogleSearchTest.java This will the test implementations of the page object methods. In this example, the methods - searchForHelloSign() and selectHelloSign() will be run as tests. A single test case can be created individually or test suite can be created.

  46. Reports in Automation While there are a few plugins available to report inbuilt reports in automation, below is one of the most common plugin - SureFire, where the test results can be generated in HTML format. Maven Surefire plugin and below is the screenshot as to how to integrate it as a dependency within the Maven configuration (pom.xml).

  47. Sample Test Report

  48. Q&A

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend