wavit - platform for automated testing
DESCRIPTION
http://qatestlab.com WAVIT - is a platform for Automated Web App Testing developed by company QATestLab. WAVIT framework is based on Selenium test tool. It combines power logging with log4j, JavaMail API for automatic reports, TestNG for test configuration and execution, implementation of HTTP methods using HttpClient for integration with TestLink.TRANSCRIPT
PLATFORM for
Automate Web App TestingAutomate Web App Testing
WavitWavit
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Tools
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Confluence Confluence - is a simple, practical web - is a simple, practical web application that makes it easy to collaborate and application that makes it easy to collaborate and manage knowledgemanage knowledge
TestLink TestLink – is a Web-based Test management and – is a Web-based Test management and software testing execution tool. This tool includes reporting software testing execution tool. This tool includes reporting and requirements tracking and cooperates with and requirements tracking and cooperates with well-known bug tracking systems.well-known bug tracking systems.
SeleniumSelenium – is a test tool that allows to write automated web – is a test tool that allows to write automated web application UI tests in any programming language against any HTTP application UI tests in any programming language against any HTTP
website using any mainstream JavaScript-enabled browser.website using any mainstream JavaScript-enabled browser.
JIRAJIRA - flexible web based bug tracking, issue tracking, - flexible web based bug tracking, issue tracking, task tracking, and project management software solution task tracking, and project management software solution used for open source and enterprise projects.used for open source and enterprise projects.
Software Testing Process
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Writing test-cases
Manual testing
Writing automatedscripts
Bug reports
Test results
Release
Running tests
Functional requirements analysis
Requirements AnalysisSoftware testing process, as well as development, begins Software testing process, as well as development, begins with the analysis of requirementswith the analysis of requirementsSoftware testers determine whether the stated requirements Software testers determine whether the stated requirements are unclear, incomplete, ambiguous, or contradictoryare unclear, incomplete, ambiguous, or contradictoryRequirements analysis can be a long and arduous process Requirements analysis can be a long and arduous process during which many delicate psychological skills are involvedduring which many delicate psychological skills are involved
TasksTasks: :
High Level Test PlanHigh Level Test PlanDevelop Functional validation matrixDevelop Functional validation matrixIdentify test cases to automate Identify test cases to automate Begin writing Test Cases based on Functional Validation matrixBegin writing Test Cases based on Functional Validation matrixDefine area for Stress and Performance testingDefine area for Stress and Performance testingBegin planning the number of test cycles required for the project, Begin planning the number of test cycles required for the project, and Regression Testing. and Regression Testing.Review test environments and lab, both Front End and Back EndReview test environments and lab, both Front End and Back End
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Writing Use Cases
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Use CasesUse Cases ddescribe system’s escribe system’s behavior by detailing behavior by detailing
scenario-driven threadsscenario-driven threads..
Used Tools Used Tools –– ConfluenceConfluence
Writing Test Cases
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Test CaseTest Case – is a set of conditions or – is a set of conditions or variables under which a tester will variables under which a tester will
determine whether an application or determine whether an application or software system meets specificationssoftware system meets specifications
Used Tool Used Tool – – TestLinkTestLink
Manual Testing
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Manual testing is used on the Manual testing is used on the first stages of software testing.first stages of software testing. Test case covers the requirement or Test case covers the requirement or
specification being tested, steps for specification being tested, steps for
testing it, and its expected result.testing it, and its expected result.
Bugs are reported and tracked in Bugs are reported and tracked in
bug tracking systembug tracking system..
Used bug tracking systemsUsed bug tracking systems– – Jira, MantisJira, Mantis
Testing Automation
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Testers determine first areas of Testers determine first areas of functionality, which will be covered with functionality, which will be covered with
automated tests. automated tests. This is very important phase.This is very important phase.
Used automated testing toolUsed automated testing tool – –Selenium RCSelenium RC
Writing Automated Scripts
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Used toolUsed tool – –EclipseEclipse
The most important thing before attempting toThe most important thing before attempting towrite a routine to automate a software process is write a routine to automate a software process is to be familiar with the process itself.to be familiar with the process itself.
TasksTasks: : •Determine structure of automated scriptsDetermine structure of automated scripts •Determine requirements to automated scriptsDetermine requirements to automated scripts•DistributeDistribute test-cases among team of software testers test-cases among team of software testers
Debugging of Tests
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Testers debug written automated tests and Testers debug written automated tests and receive first results.receive first results.
TasksTasks: : •We determine rules of We determine rules of distributiondistribution test-cases between test-cases between software testerssoftware testers •We describe We describe criterioncriterions of successfully run testss of successfully run tests•We work out procedure of defects processingWe work out procedure of defects processing(what to do if defect was found)(what to do if defect was found)
Just successfully debugged Just successfully debugged tests are added to regression tests are added to regression testing packagetesting package
GUI Interface
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Сompany QATestLab developed the specialized GUI interface for the launching of the automated tests.
This application allows to use a platform without the necessity of IDE installing and execute fine-tuning.
Test Running
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Selenium RC is great for testing complex Selenium RC is great for testing complex
AJAX-based web user interfaces under a AJAX-based web user interfaces under a
Continuous Integration system. It is also an ideal Continuous Integration system. It is also an ideal
solution for users of Selenium Core or Selenium solution for users of Selenium Core or Selenium
IDE who want to write tests in a more expressive IDE who want to write tests in a more expressive
programming language than the Selenese programming language than the Selenese
HTML table format customarily used with HTML table format customarily used with
Selenium CoreSelenium Core
Before test running Before test running SeleniumSelenium server starts and server starts and automatically launches and kills browsers, and acts as a automatically launches and kills browsers, and acts as a HTTP proxy for web requests from them.HTTP proxy for web requests from them.
Result’s Storage
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Every automated test corresponds with Every automated test corresponds with test-case described in test-case described in TestLinkTestLink. .
After test running the results of After test running the results of implementation of every test-case are implementation of every test-case are automatically put down to Testlink.automatically put down to Testlink.
Platform for Automate Web App Platform for Automate Web App TestingTesting from company from company QATestLabQATestLab uses uses
TestLinkTestLink for storing the results of each test for storing the results of each test running.running.
Test Running Results
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Passed
Test-case was run Test-case was run successfullysuccessfully. .
No problems were No problems were detected.detected.
Test-case was run Test-case was run successfullysuccessfully. .
No problems were No problems were detected.detected.
Failed
Test-case was executed with errorTest-case was executed with error..
This means that expected result This means that expected result does not agree with actual does not agree with actual result. In this case we use result. In this case we use
manual testing for this test-case.manual testing for this test-case.
If defect will be found during If defect will be found during manual testing it will be reported manual testing it will be reported
to bug tracking system.to bug tracking system.
Test-case was executed with errorTest-case was executed with error..
This means that expected result This means that expected result does not agree with actual does not agree with actual result. In this case we use result. In this case we use
manual testing for this test-case.manual testing for this test-case.
If defect will be found during If defect will be found during manual testing it will be reported manual testing it will be reported
to bug tracking system.to bug tracking system.
Blocked
Conditions for running this Conditions for running this test-case were not test-case were not
complied.complied.
Conditions for running this Conditions for running this test-case were not test-case were not
complied.complied.
Test Error
Error in script of Error in script of automated testautomated test. . For exampleFor example, ,
call to non-existing call to non-existing element.element.
Error in script of Error in script of automated testautomated test. . For exampleFor example, ,
call to non-existing call to non-existing element.element.In Process
Defect was found in Defect was found in previous launching.previous launching.
Defect was reported to Defect was reported to bug trackingbug tracking
system.system.
Defect was found in Defect was found in previous launching.previous launching.
Defect was reported to Defect was reported to bug trackingbug tracking
system.system.
Result Analysis
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Before every launch of automated tests platform creates build in Testlink. It gives possibility to watch the life cycle of defect and general state of the system at any time from the beginning of testing automation.
After running of the automated tests a After running of the automated tests a software tester analyzes received results. software tester analyzes received results.
All defects that were revealed during All defects that were revealed during analysis are tested manually and added to analysis are tested manually and added to bug tracking system.bug tracking system.
Automated test Support
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Our platform for Our platform for Automate Web App Automate Web App TestingTesting gives the effective and not gives the effective and not needing in difficult service level of needing in difficult service level of abstraction, allowing to hold the automated abstraction, allowing to hold the automated tests in the actual state at minimum tests in the actual state at minimum expenses.expenses.
Support of the automated tests is necessary for the Support of the automated tests is necessary for the decision of classic problem of automated testing – decision of classic problem of automated testing – instability of test scenarios which stop to work after instability of test scenarios which stop to work after any change in testable application in the process of any change in testable application in the process of development.development.
Testing Schedule
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
The daily test running of the automated tests The daily test running of the automated tests is performed on current project build. It can be is performed on current project build. It can be both daily running and running once or twice both daily running and running once or twice in a day.in a day.
Running on product version presumes the Running on product version presumes the complete test data cleaning, that gives complete test data cleaning, that gives possibility to make deep and full functional possibility to make deep and full functional testing – from data creation to data removal.testing – from data creation to data removal.
Contact Us
© QATestLab 2005-2009 All rights reserved. www.QATestLab.com
Address: 21, Garmatna str., Kiev, Ukraine
Phone: +380 44 406 70 24 +380 66 601 85 40
E-mail: [email protected] www: www.QATestLab.com