Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Designing a Test Automation Framework By Quontra solutions

1.266 Aufrufe

Veröffentlicht am

Quontra Solutions provides Selenium Testing online training by Real time IT experts. Selenium is having good demand in the market. Our Selenium online training Instructors are very much experienced and highly qualified and dedicated.
Our Selenium online training program is job oriented. After completion of Selenium training with us you should be able to work on any kind of project. After completion of Selenium online training our dedicated team will be supporting you.
Get 10 % OFF when you register for this program.
Please call us for demo on Selenium. Quontra Solutions is the best Selenium online training Institute in United States.
Highlights in our training:
* Very in depth course material with real time scenarios.
* We are providing class with highly qualified trainer.
* We will provide class and demo session at student flexible timings.
* In training case studies and real time scenarios covered.
* Each topic covers real time solutions.
* We will give every recorded session for play later.
* We are giving placement support by multiple consultancies in USA, UK etc.
* We will give full support while attending the interviews and contact us after completion of the course.
• Manual Testing Skills
• Basic Programming Skills, OOPS Concepts
• Knowledge on Test Automation Principles and practices

Veröffentlicht in: Bildung
  • Loggen Sie sich ein, um Kommentare anzuzeigen.

  • Gehören Sie zu den Ersten, denen das gefällt!

Designing a Test Automation Framework By Quontra solutions

  1. 1. Test Automation Framework Overview and Strategy Presented By Quontra Solutions IT Courses Online Training With Placement Support. Attend Free Demo . Email: info@quontrasolutions.com Contact: +1 (404)-900-9988 Web: www.quontrasolutions.com
  2. 2. 2
  3. 3. Contents 1. Software Framework 2. The Easy Way 3. The Better Way Introduction PageObject Pattern 1. Automation Framework Approaches Data/Table Driven Framework Keyword Driven Framework Hybrid Framework Generic Architecture 1. Guidelines and Lessons Learnt Test Organization Test Writing Style Browser Updates 3
  4. 4. Software Framework What is a software framework? 4
  5. 5. Software Framework The definition and key components  A software framework is a universal, reusable software platform used to develop applications, products and solutions.  Software Frameworks include,  Support Programs  Compilers  Code Libraries  APIs  A tool set to integrate different components 5
  6. 6. Software Framework Framework properties  A Software framework contain key distinguishing features that separate them from normal libraries.  They are,  Inversion of Control (IOC) the overall program's flow of control is not dictated by the caller, but by the framework.  Default behaviour must actually be some useful behavior and not a series of instructions.  Extensibility can be extended by the user usually by selective overriding or specialized by user code providing specific functionality.  Non modifiable framework code is not allowed to be modified. 6
  7. 7. The Easy Way What is the easy way to automate? 7
  8. 8. The easy way - Records all user activities and play back  Typically a software testing suite will allow the tester to use the SUT as a user would, through the browser.  In the background the testing suite records all of the clicks and key presses and discards any context.  Later, the recorded events are played back and various assertions are made to ensure the output matches that which is expected. 8
  9. 9. The easy way Pros and Cons Pros Easy and does not required highly skilled software developers Large portions of the application can be covered quickly Cons Small changes to the SUT cause massive disruption in the tests Entire suites of tests can be rendered useless resulting in reduce testing coverage for extended periods of time Test maintenance becomes hard  Tests begin to stagnate  Team confidence, in the tests, is reduced. 9
  10. 10. The Better Way What could be a better way of automating? 10
  11. 11. The better way Introduction  Treat automated testing as software development.  Tests should be created with the same concern for software design principles such as,  Reduced coupling  High cohesion  Proper separation of concerns  Maintainability  Reusability 11
  12. 12. The better way PageObject class 12
  13. 13. The better way Dos and Don’ts  In PageObjects,  The public methods represent the services that the page offers  Try not to expose the internals of the page  Generally don't make assertions  Methods return other PageObjects  Need not represent an entire page  Different results for the same action are modeled as different methods 13
  14. 14. The better way Pros and Cons Pros  Selenium WebDriver supports  Increased maintainability  Increase test stability  Readable tests  Tests are easy to author Cons  Larger up-front cost for creating PageObjects  More skill is required to create PageObjects 14
  15. 15. Automation Framework Approaches What are the available automation frameworks? 15
  16. 16. Automation Framework Approaches Data/Table Driven Framework  Data driven is the design of possible inputs what may given by the end user. This would cover maximum probabilities of an input data. It can be a spread sheet or a DB. We have to connect and pass the values to the respective field or element.  Take advantage of tester’s familiarity with test case creation using tables and matrices  Accommodate localization projects  Recognize the importance of patterns in test cases  Enable testers to catalog test cases with Excel spreadsheets  Enable testers to specify expected results in spreadsheets 16
  17. 17. Automation Framework Approaches Data/Table Driven Framework 17
  18. 18. Automation Framework Approaches Keyword Driven Framework  Keyword driven framework is an action based test method used in planning and implementation of automation. 18
  19. 19. Automation Framework Approaches Hybrid Framework  A mix of Data driven and Keyword driven frameworks. 19
  20. 20. Automation Framework Approaches Generic Architecture  A Test Automation Framework should have a multi- tiered architecture. It should consists of the following tiers.  Engine Components in this tier are completely responsible for interacting with the WebDriver interfaces.  Domain This tier is meant to contain only page objects that work against the engine.  Utils This tier is meant to contain very generic, reusable functionality across all the other tiers.  Functional Tests This tier will contain tests that are built on top of MSTest to create actual test scenarios by using page objects in the Domain. 20 Test Automation FrameworkTest Automation Framework (MSTest) Test Execution Engine(MSTest) Test Execution Engine Functional TestsFunctional Tests Domain Engine UtilsUtils Selenium Web Driver APISelenium Web Driver API
  21. 21. Guidelines and Lessons Learnt Some important points to keep in mind 21
  22. 22. Automation Framework Approaches Guidelines for Automation framework design • Selection of a framework • Don’t reinvent the wheel - Make use of Selenium WebDriver functionalities • Reusability • Support of different application versions • Support of script versioning • Different environment for development and production • Externally Configurable • Minimal changes required for any object changes • Execution - Individual, batch, only failed etc • Status monitoring • Reporting • Minimum dependency on Automation tool for changes 22
  23. 23. Automation Framework Approaches Guidelines for Automation framework design• Easy debugging • Logging - Errors, warnings, etc • Easy to Use • Flexible - Should not impact existing test if changes are required • Performance impacts • Coding Standards 23
  24. 24. Functional test organization Physical file organization  Test script files (.cs files) are organized into a folder structure much similar to the web application’s page structure.  Reasons to select this approach:  Easy access to tests  Testing a section of the application is easy 24
  25. 25. Functional test organization Test class naming convention  Test class name should start with the containing folder name.  Reasons to select this approach:  Easy to group tests based on test class  Testing a section of the application is easy 25
  26. 26. Functional test writing style Behavior Driven Development Style Tests  It is important to be able to break down a test scenario into the components of a behavior driven test to ensure clarity. Very concisely the test writer should be able to dictate a test scenario as:  Given <a precondition>  When <an action takes place>  Then <expected outcome should be present> 26
  27. 27. Functional test writing style Behavior Driven Development Style Tests 27
  28. 28. Functional test writing style Behavior Driven Development Style Tests  Reasons for selecting this approach:  This style of test writing allows for a test case to be easily verbalized and comparable to the system requirements being validated.  Since this effort is heavily focused on UI automation, it makes sense to capture test cases dictating every behavior of the system and the user. 28
  29. 29. Browser Upgrades What if the browser upgrades automatically? Have a portable version of the browser Package it with your framework Starts when the test suite starts 29
  30. 30. Summary Automation should be considered as a development project and not just record and playback of events. Starting automated testing with a good framework ensures low maintenance. Guidelines discussed in this paper can be used as input for developing requirements for a framework. 30
  31. 31. Thank You 31