variability vs repeatability an experience report
play

Variability vs. Repeatability An Experience Report Jonathan Li On - PowerPoint PPT Presentation

Variability vs. Repeatability An Experience Report Jonathan Li On Wing Introduction This talk is about my experience in adding some variability to automated testing and what I learned about it 2 My Historical Approach To Testing Manual


  1. Variability vs. Repeatability � An Experience Report Jonathan Li On Wing

  2. Introduction This talk is about my experience in adding some variability to automated testing and what I learned about it 2 �

  3. My Historical Approach To Testing Manual Testing known inputs and expected outputs Automated Testing automating the manual tests Exploratory no fixed inputs and adapt tests Automated Testing with variability 3 �

  4. EXAMPLES EXAMPLES

  5. Example 1 Get all the hotels in a given city

  6. Example 1 Get all the hotels in a given city

  7. Example 1 Get all the hotels in a given city

  8. Example 2 Get the details of a given hotel

  9. METHODOLOGY METHODOLOGY

  10. Previous Methodology Data driven testing expected inputs matched with expected outputs Test Client Web Service Input/Output DB 10 �

  11. Implemented Methodology HTTP Client Web Service Test Controller DB Oracle 01 testGetHotelDetails() { 02 //Get 10 random hotels 03 List<Hotel> hotels = DBWrapper. getRandomHotel (10); 04 foreach (Hotel hotel in hotels) { 05 Response response = HttpClient. getHotels (hotel); 06 Hotel hotelReturned = new Hotel(response); 07 Oracle .assertEquals (hotel, hotelReturned); 08 } 09 } 11 �

  12. Implemented Methodology HTTP Client Web Service Test Controller DB Oracle 01 testAllHotelsBelongInRegion() { 02 //Get 10 random regions 03 List<Region> regionsToTestWith = DBWrapper. getRandomRegion (10); 04 foreach (Region region in regionsToTestWith) { 05 Response response = HttpClient. getHotelsInRegion (region); 06 Oracle. assertVerifyHotelsBelongInRegion (response, region); 07 } 08 } 12 �

  13. OBSER OBSERVATIONS TIONS

  14. Time Initial construction took longer Creating test cases could be faster and up to 3 times slower Maintenance of tests is generally easier and faster 14 �

  15. Bugs About 10% more bugs found Majority of these bugs were low priority Majority of the these were also real data issues E B A D ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡C ¡ 15 �

  16. Confidence Hard to measure Test team felt more confident not testing the same data over and over again tested more permutations than I can in a lifetime 16 �

  17. Comparison Repeatability Repeatability Variability ariability Uncover more bugs Faster to develop initially Easier to maintain Lower coding bar Generates more confidence Predictable Tests more variations Good for large data sets 17 �

  18. Criticisms Lack of repeatability and predictability Duplicating feature work Testing the tests 18 �

  19. Future work Add ease of r Add ease of repeatability epeatability Replay based on logs or test session id with a seed Adaptable tests Adaptable tests Use machine learning and statistical analysis to allow tests to explore areas on its own 19 ¡

  20. Thank you. Jonathan Li On Wing Software Development Engineer in Test Groupon | Getaways jwing@groupon.com | jonathan.lionwing@mail.mcgill.ca

Recommend


More recommend