510 likes | 779 Views
A Data Driven Automated Test Framework for Android. Ahmed Misbah Ahmed Aswani. Agenda. Testing ??!!!! Types of Testing How People Test Software The Manual Way It is Bad! The Solution (The Automated Way) How to Implement Automation The Wonderful TDD Automation Steps Words on Automation
E N D
A Data Driven Automated Test Framework for Android Ahmed Misbah Ahmed Aswani
Agenda • Testing ??!!!! • Types of Testing • How People Test Software • The Manual Way • It is Bad! • The Solution (The Automated Way) • How to Implement Automation • The Wonderful TDD • Automation Steps • Words on Automation • Our Solution and Experience
UNIT TESTING INTEGRATION TESTING ACCEPTANCE /functional TESTING UI TESTING Performance TESTING
LOAD TEST PERFORMANCE TEST
reliable [ri-lahy-uh-buhl] that may be relied on; dependable in Achievement, accuracy,
The story behind Registration Presence Edit Profile Messaging IM Application XMPP Server
Manual Testing Scenario • Quality Engineer would have to register users manually (6 mandatory fields) • QE would enter each user’s Roster (must exceed 22 to test pagination) • QE should take care of user names for sorting
Manual Testing Scenario • Verify User Login • Verify that Roster was loaded correctly • Verify that Roster is sorted correctly • Verify that pagination is working • Do the same when bugs are fixed and during regression
Test Results Quality Engineer of course
Conclusions • Needed to apply Automated Testing • Some cases had to be handled using DDT
Why a new library? • None exists !!! • Time was tight to learn anything new • Leverage benefits of Automated Testing
The Library Test Data Expected Output JSON file DDT Library Automated Test Framework Your Code JUnit for Android Test Results Test Results
Under the hood • Java • Google Gson library (http://code.google.com/p/google-gson/)
Benefits of the library • Its free!! Its Open Source!! • Works on anything that is Java, even Android • Almost no learning curve (i.e. Its easy!!)
Drawbacks • Needs more work • All drawbacks of Automated Testing and DDT
Future work • Eclipse plugin • Construct JSON files, • Auto generate Data objects, • Map data to code that will be tested, • Generate junit test cases, • Generate better test results (Expected Output and Actual Output)
Thank you Questions ???