May GlobalVetLink Testing Automation Dan Stewart - EE Joshua Carson - CPRE Jordan Hager - CPRE 1 st Advisor – Dr. Smith 2 nd Advisor – Dr. Manimaran Client Company – GlobalVetLink Client Name – Bob Shuka
About GlobalVetLink Small company based in Ames, Iowa National multi-species Web-Based Platform connects state animal health/regulatory officials with veterinarian and animal diagnostic laboratories subscribers Services this website provides are: premises ID, digital photos, visual tags, & EID - with automated uploading of IDs Simply Stated: they hold veterinarian/animal lab records on the web and reduce paperwork
Problem Statement Small company = lack of manpower Previously outsourced code is poorly written and has been hard to update without causing bugs in other parts of the application Problem: Find a way to take the manpower intensive operation of manual testing and automate it Intended Result: To allow the developers more time to work on bugs/development and less time to spend on testing
Proposed Solution (Concepts) Major concepts of a software automated testing system 1. Testing Scripts 2. Automation Software
Testing Scripts Testing scripts is code that runs human-like actions extremely fast Scripts verify certain criteria while running Test scripts will do the same thing that GlobalVetLink does manually for testing
Automation Software Automation Software (AS) runs Testing Scripts AS report output of Testing Scripts Good AS helps in creating Testing Scripts via auto-generation of Script code
Conceptual System Diagram
System Description We will be designing our solution to have three parts 1. Storing Function 2. Input Function 3. Run Function
Automation Software We have a couple different options for automation software 1. Open Source 2. Licensed Versions
Open Source Pros –Free –Editable Cons –Lack of Reliability –Lack of Support
Licensed Automated Tools Pros –Support –Reliability Cons –Expensive –Can be more complex to use –May not meet all requirements anyways
Operating Environment Automation Software must run on both Internet Explorer and Firefox Could be installed on Windows OS, Mac OS, or Linux OS
Functional Requirements Tests will finish thoroughly and allow for a report to be generated Must work with Windows OS as well as Mac OS Must work with both Internet Explorer and Firefox
Non-Functional Requirements Would like Automation Software to be Open Source. Client would like 5 automated software packages researched and documented before choosing one to make the test scripts with. Source code was coded in jsp
Market Research Selenium JUnitDoclet JUnitFactory CoView Build Test Automation ourselves Others
GlobalVetLink Requirement JUnitDocletJUnitFactoryCoViewSelenium Internet Explorer X X Firefox X X Java XXXX JSP X Windows XXXX OSX XXXX Open Source XXX Customize XX
We Recommend Selenium Meets all of GlobalVetLink’s requirements Works on all required browsers and operating systems Works with Java and JSP Open Source so it is free
User Interface User interface will be the user interface of the Automation Software Example shows the ability to run, store and allows for user input
User Interface ctd. Selenium with GlobalVetLink’s site
Planned Deliverables All deliverables will be turned over to Bob Shuka at GlobalVetLink A document on designing and testing using Selenium 3-5 testing scripts using the automation software for use on GlobalVetLink Software on CD. A presentation showing the test to prove the script works
Resources Eclipse Java Developer Environment Selenium Software Apache Tomcat for server operation PostgreSQL for database information GlobalVetLink Computers and Servers Project Advisor
Estimated Budget Poster: $ /hr: $6, Total: $6, Note: GlobalVetLink will not be charged the cost of labor or poster
Project Schedule
Risks and Issues Selenium working incorrectly with aspects of GlobalVetLink website Test scripts being designed improperly or not covering all cases of need We hope combat these by creating a document that gives GlobalVetLink insight into how to properly test using Selenium and by providing a work around for incorrect interactions
Design Method Design was done using mainly the V-model After the planning, research, requirements... We chose Automation Software and designed tests to accurately accomplish the given requirements Then testing to verify meeting requirements
Input/Output Specification The input are the steps within the test scripts 3-5 Test cases written using selenium Test cases test creation or modification of an animal certificate Test case inputs are the steps it takes to manually create or modify an animal certificate
Input/Output Specification (ctd.) The output will of: Correct output on GlobalVetLink UI shown to a user Correct computation of data within code Correct placement of database information when appropriate Output to user of pass or failure test cases
Hardware Specification It should be able to run on a desktop or laptop computer
Software Specification To create a test, the user should download the Selenium IDE plug-in for Firefox Once installed, simply turn it on and it will record your actions It records where user clicks and inputs the keyboard gives The IDE allows the user to adjust what was recorded, remove sections that they don't want, as well as insert other actions that might not have been recorded
Software Specification (ctd.) Test Suite HTML file - HTML file holds all the links to the tests within the same folder and is displayed by Selenium test runner Batch File Automation - Entire set-up of selenium to run at the click of the batch file
Test Specification Correct Operation Verification Testing Consistency Testing User Acceptance Testing Cross Platform Testing User Manual Testing
Correct Operation Verification Testing Tests will be done to ensure scripts repeat recorded behavior Done by manually doing tests again for comparison or reviewing the tests as they run
Consistency Testing Tests pass if all tests in the suite continue to repeatedly pass each time Fail if any of the tests fail at any time for any reason
Operating System Testing We will test on Windows Vista and XP as well as Mac OSX Tests pass if the testing suite passes on each system
Cross Platform Testing Tests will be done on both Firefox and IE Tests will pass if testing suite runs on both IE and Firefox with out stopping and without additional help
User Manual Testing Tests will be done to ensure a user can follow the instructions of the user’s manual Test passes if participant can successfully make testing suite without additional help
Software Design User Selenium IDE GlobalVetLink site Html file Batch file Selenium RC
Build Phase Basic Certificate Creation, Modification and Deletion While running, verifies such things as: Login New certificates can be made Certificate can be saved Certificate can be deleted
Testing Results Verification Testing – Passed Consistency Testing – Passed Operating System Testing – Passed Cross Platform – Failure User Manual – Passed
Issues Test failures due to slow GlobalVetLink test server speed Resolved by using a WaitForPageToLoad() command Status: Solved
Issues (ctd.) Tests failed as references to HTML would not be correctly applied in IE Use specific HTML id’s Status: Solved but un-implemented
Earned Value Analysis Total Hours – 462 hours – 100% complete Total $10.50/hr w/poster = $ 4968 Cost Variance: 1382 : Positive : Under Budget Schedule Variance: 1382 : Positive : Ahead of Schedule Cost Performance Index: 1 : =1 : On target budget Schedule Performance Index:.782 : <1 : Behind Schedule
Lessons Learned Communication is vital to extended projects Group and client incorrectly minimized communication early on Project progressed much faster after improving communication
Conclusion We believe this project is a success. All deliverables turned in April 11th, 2008 IE problem only causes gap in Cross Platform Testing Solution available for IE fix
Demo & Questions