Functional Testing with Eclipse Eric Long Technology Evangelist, IBM Rational Technology Events elong@us.ibm.com Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. What we WON’T be covering today… • Unit Testing API Recorder JUnit Testing • Performance Testing HTTP Recorder Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 2 What we WILL cover… • • • • • • Introduction Manual Testing Demo Functional Testing Demo Next Steps Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 3 A Touch of Humor • Trunk Monkey Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 4 What is Manual Functional Testing? The manual process of ensuring fitness for use • Using human labor to validate the business use cases and fitness for use of an application, system or device • Includes labor to plan, design, execute and evaluate the status of the application or device under test • Experience indicates over 75% of the testing done today is performed manually Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 5 Challenges of Manual Functional Testing Three things that complicate the life of a manual tester • Labor Intensive Too much time is spent maintaining manual test documentation for application changes • Resistant to Change Each project has diverse processes, tester skill sets and types of applications and devices under test • Unreliable Accidental human-error with data entry and validation often skews test results Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 6 Eclipse Manual Testing Tools… • Overview Description of manual test • Test Cases Defines individual test cases • Behavior Order of test cases Loops Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 7 Eclipse Testing Tools • While a test is being run, a step-by-step progress view is available JUnit-like status bar Input values Verdict Reason Text Attachments Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 8 Demo • Manual testing with Eclipse TPTP • Test creation, reuse and execution Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 9 What is Automated Functional Testing? The automated process of ensuring fitness for use • Using automation tools to capture actions taken against an application in script format. Record • Three Step Process Record actions into a script format Optionally enhance scripts with custom coding Enhance Execute Execute scripts – ideally overnight to increase test productivity to 24/7 Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 10 Challenge of Manual Functional Testing with Short Test Cycles Tests Rerun the ...the new first tests tests... and... Manual testing can’t keep pace! ...take more time Time Build 1 Build 2 Build 3, 4, 5 … • Manual testing alone can’t keep pace with the rapid development of applications… Quality will be sacrificed to keep on schedule Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Challenges of Automated Functional Testing Three things that complicate the life of an automated functional tester • Control cost of test automation Inexperienced testers face steep learning curve for tools Test maintenance grows with project • Testing Tools Lack Flexibility Power users hands are tied by tool limitations • Test Team Integration Managing script changes with parallel development Sharing test assets with the larger software team Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 12 Automated GUI Test Editor • • • • Overview Test Cases Behavior Test Controls Record a new test Play a test case Delete Update Refresh Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 13 Recording Control Center • Customize wait time • Toggle position-based recording • Restart • Terminate • Insert verification hooks Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 14 Test Case Generation • After recording a test, here are the results: Tree structure view containing Shells and Commands Macro view for fine-grained changes Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 15 Test Log • • • • Events Properties Pass/Fail charts Bug submission Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 16 Demo Functional testing with Eclipse TPTP preview Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 17 Thank You • Hope you enjoyed the short presentation • Please remember to fill out your evaluations Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 18 Legal Notices • Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. • IBM and the IBM logo are trademarks or registered trademarks of IBM Corporation, in the United States, other countries or both. • Java and all Java-based marks, among others, are trademarks or registered trademarks of Sun Microsystems in the United States, other countries or both. • Eclipse and the Eclipse logo are trademarks of Eclipse Foundation, Inc. • THE INFORMATION DISCUSSED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION, IT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, AND IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, SUCH INFORMATION. ANY INFORMATION CONCERNING IBM'S PRODUCT PLANS OR STRATEGY IS SUBJECT TO CHANGE BY IBM WITHOUT NOTICE. Functional Testing with Eclipse TPTP | Copyright © IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 19