automation strategies for testing complex data and
play

"Automation Strategies for Testing Complex Data and - PDF document

W3 Concurrent Session 5/4/2011 11:30 AM "Automation Strategies for Testing Complex Data and Dashboards" Presented by: Greg Paskal JCPenney Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888 268 8770


  1. W3 Concurrent Session 5/4/2011 11:30 AM "Automation Strategies for Testing Complex Data and Dashboards" Presented by: Greg Paskal JCPenney Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888 ‐ 268 ‐ 8770 ∙ 904 ‐ 278 ‐ 0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com

  2. Greg Paskal Greg Paskal is currently with JCPenney, where he is involved in pioneering a new group called the Application Testing Center, a COE around software test engineering. Involved in software testing since the early 1980s, Greg’s background includes automated testing for satellite systems, retail applications, e-commerce solutions, and mobile devices. His passion for technology drives him to explore innovative ways to blend concepts and techniques to derive creative solutions. He is a regular speaker at the University of the Nations where he teaches Writing for the Web and Server School. Greg has spoken at StarEast, StarWest, and other testing conferences on his Minimal Essential Testing Strategy, now developed into an iPhone application. Learn more about Greg via MissionWares.com and GregPaskal.com.

  3. Home Home Problem Opportunity Inception Implement Model Automation Strategies for Testing Complex Data and Dashboards Presented by Greg Paskal JCPenney Company STAR EAST 2011 Home Problem Problem Opportunity Inception Implement Model Automation of screens containing large volumes of data… Dashboards Data Tables often results in… Sizable Automation Scripts Scripts that can be difficult to follow Trouble for future maintenance Tough to get reusability out of • • •

  4. Home Problem Problem Opportunity Inception Implement Model Understanding the problem by breaking things down a bit Pizza Quality by Store Info mational Informational Validation Candidate Expected Results Validation Results Understanding how this data and information relates to itself laid the foundation for next steps. • • • Home Problem Problem Opportunity Inception Implement Model How about a modular design of building blocks? Data Validation Expected Validation Details Candidate Results Results Each building block fulfills a specific purpose in the overall process. • • •

  5. Home Problem Opportunity Opportunity Inception Implement Model A modular design presents opportunities with reusability Data Data Validation Validation Expected Expected Validation Validation Details Candidate Results Results If done right, it should adapt well to different scenarios Another scenario We know it works Similar info here, Data similar to the previous here, this was our Details, Validation including data in rows Proof of Concept. Candidate data, etc. and columns. All the above examples have similar characteristics…we’re on the right track. • • • • Home Problem Opportunity Opportunity Inception Implement Model Being purposeful in our code design should lead to reusability Well documented code allows others to clearly understand the functionality and purpose. Build code robust enough to handle anticipated contingencies. Build code generic enough to adapt to “like” scenarios. There are always times when quick and dirty coding is a necessity. Avoid this type of coding though, when building a coding strategy that you intend on getting a lot of reusability out of. Put time in your plan to do it right. • • • •

  6. Home Problem Opportunity Opportunity Inception Implement Model Clearly identify the areas to improve upon… What’s unique about this testing scenario? Large volumes of data represented in rows and columns. 1 rencing Index Numbers 2 3 4 Referencing data is nearly always 5 done utilizing index numbers. 6 7 8 8 Refer Oft Often there is some way to uniquely th i t i l 9 identify one row from another. 10 • • • • Home Problem Opportunity Opportunity Inception Implement Model Clearly identify the area to improve upon… What are some realities of automating this scenario? Dealing with large volumes of data takes time. Gathering information from one area is nearly identical to gathering it from another. Trimming even sub-second amounts g of time off these processes could amount to a lot of time savings. • • • •

  7. Home Problem Opportunity Inception Inception Implement Model Proving out the concept in the real world – The POC Find a real world candidate to use for testing the concept. Build the prototype. Analyze and refine the design. • • • • • • Home Problem Opportunity Inception Inception Implement Model So what did we learn through the POC? The more modular the design, the better. Perform Like task in batches instead of traditional linear execution. Define a visual model of how the information could be organized. • • • • • •

  8. Home Problem Opportunity Inception Inception Implement Model Tune up the design and formalize the model Visualize the model Define a naming convention • • • • • • Home Problem Opportunity Inception Inception Implement Model Understanding the benefits and strengths of this model The Complex Data Model contains all the key information to describe and interact with itself. Details about the data Storage for Validation Results Storage for Expected Results Storage for Validation Candidate How to access the data • • • • • •

  9. Home Problem Opportunity Inception Inception Implement Model Additional realities of building out the model Built a number of supporting tools to help in the implementation process. This value 5,2 is the Table Built in debugging Index Key (TIK) derived from the results of the WebTableDiscovery function. • • • • • • Home Problem Opportunity Inception Inception Implement Model Some final thoughts about this part of the process Involve others to refine concepts Wrote White Paper to further explore concept Complex Data Model – translates into – Complex Data Array = = An array of data can be passed in to and out of a function. (This turned out to be key in the overall process) • • • • • •

  10. Home Problem Opportunity Inception Implement Implement Model Identifying opportunities to implement the Complex Data Model Look for large volumes of data Look for data represented in Rows and Columns • • • • • • Home Problem Opportunity Inception Implement Implement Model Execute the Discovery Process Website Target (Data were after) WebTableDiscovery Results WebTableData Results TIK = 5,2 • • • • • •

  11. Home Problem Opportunity Inception Implement Implement Model Implementing the Complex Data Model - Coding 1 1 Setting up the multi dimensional array Setting up the multi-dimensional array 2 2 Adjusting the multi dimensional array Adjusting the multi-dimensional array • • • • • • Home Problem Opportunity Inception Implement Implement Model Implementing the Complex Data Model – Coding (Cont) 3 Setting up the Data Details • • • • • •

  12. Home Problem Opportunity Inception Implement Implement Model Complex Data Process – Supporting Functions Set and Get Data Details Data Management Function Name Description Function Names Description CDSetTIK CDSetTIK CDGetTIK CDGetTIK Storage and retrieval of the Storage and retrieval of the CDShiftData CDShiftData Adjust data positioning Adjust data positioning Table Index Key CDRemoveAllEmptyRows Data cleanup of empty rows CDSetRC CDGetRC Storage and retrieval of the Row CDSearchForRow Search for a specific row Count CDSearchForTarget Search for specific data CDSetCC CDGetCC Storage and retrieval of the Column Count CDRemoveRow Removal of a specific row Data Gathering and Validation Array Management Function Name Description Function Name Description CDGetValidationCandidateData Get the Validation Candidate CDSetCounts Determine the Row and Column Data Counts CDValidateResults CDValidateResults Compare Validation Candidate Compare Validation Candidate against Expected Results Runtime Metrics Function Name Description Implementation & Debugging CDAdjustTOV Adjust the Total Overall Validation Function Name Description count CDQuickView View the Complex Data Array contents • • • • • • Home Problem Opportunity Inception Implement Implement Model Complex Data – Sample Results Original Data Table (Subset) • • • • • •

  13. Home Problem Opportunity Inception Implement Model Model Complex Data Model • • Home Problem Opportunity Inception Implement Model Model Complex Data Model – Reference • •

  14. Home Problem Opportunity Inception Implement Model Open Discussion Professional Information Other Helpful Resources Greg Paskal - JCPenney This White Paper outlines details as to how the Complex Data Complex Data strategy came about and how to Application Test Center - COE The White Paper implement it within your automation projects. GPaskal@JCPenney.com http://www.GregPaskal.com/ComplexData Developed and taught by Greg Paskal at StarWest Minimal Essential and StarEast. METS provides an effective testing Testing Strategy strategy for fast moving development environments gy g p (METS) such as Agile. http://www.GregPaskal.com/METS Personal Information Take the METS testing strategy with you wherever Greg Paskal Minimal Essential you go with METS for iPhone, the mobile App. Testing Strategy http://mobile.MissionWares.com Greg@GregPaskal.com for iPhone www.GregPaskal.com

Recommend


More recommend