29
through the Consumer's through the Consumer's Eyes Eyes Reality Unveiled During PAS UAT Reality Unveiled During PAS UAT Michelle Dunn Michelle Dunn Calgary, Alberta Calgary, Alberta [email protected]

Click here for Michelle's Presentation

Embed Size (px)

Citation preview

Page 1: Click here for Michelle's Presentation

Understanding Quality Understanding Quality through the Consumer's through the Consumer's

EyesEyes

Reality Unveiled During PAS UATReality Unveiled During PAS UAT

Michelle DunnMichelle Dunn

Calgary, AlbertaCalgary, [email protected]

Page 2: Click here for Michelle's Presentation

IntroductionIntroduction

Software development teams Software development teams typically never use the typically never use the application they are responsible application they are responsible for creating. for creating.

Join me in the journey of Join me in the journey of discovering what happens after discovering what happens after the software vendor has released the software vendor has released their product.their product.

Page 3: Click here for Michelle's Presentation

Ready … Set … Ship!Ready … Set … Ship!

Your company is now ready to Your company is now ready to deliver a new software product to deliver a new software product to the customer. the customer.

You have met the schedule, the You have met the schedule, the scope and the quality scope and the quality requirements of the contract.requirements of the contract.

Page 4: Click here for Michelle's Presentation

… … More Testing???More Testing???

You have completed various forms of You have completed various forms of testing throughout the SDLCtesting throughout the SDLC

Your daily automated suite containsYour daily automated suite contains– 20,000+ JUNIT tests 20,000+ JUNIT tests – 1,000 GUI (front end tests) 1,000 GUI (front end tests) – 350 System tests 350 System tests – 100 Report tests 100 Report tests

So why does your customer still feel So why does your customer still feel the need to do rigorous User the need to do rigorous User Acceptance Testing? What is UAT?Acceptance Testing? What is UAT?

Page 5: Click here for Michelle's Presentation

Why the Secrecy Why the Secrecy Surrounding UAT?Surrounding UAT?

Although most large companies perform Although most large companies perform UAT prior to deploying an application, UAT prior to deploying an application, there is limited articles/books published there is limited articles/books published on the subject by leading Test Experts.on the subject by leading Test Experts.– I could not find one reference to UAT in my I could not find one reference to UAT in my

favorite book “Lessons Learned in Software favorite book “Lessons Learned in Software Testing” by James Bach.Testing” by James Bach.

– The bestselling test book of all time “Testing The bestselling test book of all time “Testing Computer Software” by Cem Kaner has only Computer Software” by Cem Kaner has only one paragraph on the subject.one paragraph on the subject.

If it’s not talked about, then it cannot be If it’s not talked about, then it cannot be important … right?important … right?

Page 6: Click here for Michelle's Presentation

UAT RedefinedUAT Redefined

A Common Definition (coined by A Common Definition (coined by me!)me!)– ““UAT is performed to determine if UAT is performed to determine if

the application will support the the application will support the needs of the user in the real world.”needs of the user in the real world.”

What does this mean?What does this mean? Let’s probe further and dissect Let’s probe further and dissect

the term UATthe term UAT

Page 7: Click here for Michelle's Presentation

UUAT: Who is the AT: Who is the ““UserUser””

Who will be affected by the Who will be affected by the project/application?project/application?– Project TeamProject Team– Support and Operation TeamSupport and Operation Team– End UserEnd User– End User’s customerEnd User’s customer– Legal or regulatory authorityLegal or regulatory authority– Monetary authorityMonetary authority– Anyone else?Anyone else?

Page 8: Click here for Michelle's Presentation

UUAAT: What is T: What is ““AcceptanceAcceptance”?”?

““Acceptance Testing is any testing Acceptance Testing is any testing done by one party for the purpose done by one party for the purpose of accepting another party’s work”of accepting another party’s work”– Michael Bolton, 2001 Michael Bolton, 2001

What testing needs to be performed What testing needs to be performed to determine if the software to determine if the software application is acceptable?application is acceptable?

Page 9: Click here for Michelle's Presentation

UAUATT: What is “: What is “TestingTesting””

– FunctionalityFunctionality– RegressionRegression– ScenarioScenario– ReliabilityReliability– End to EndEnd to End

– UsabilityUsability– SecuritySecurity– ScalabilityScalability– PerformancePerformance– And more “ility” TestsAnd more “ility” Tests

““Testing is questioning a product in order Testing is questioning a product in order to evaluate it” to evaluate it” – James Bach, “Rapid Software Testing”, 2007James Bach, “Rapid Software Testing”, 2007

Test Techniques:Test Techniques:

Page 10: Click here for Michelle's Presentation

What is Your What is Your Company’s UAT Goal?Company’s UAT Goal?

Page 11: Click here for Michelle's Presentation

UAT Goal: Beta UAT Goal: Beta ReleaseRelease

User base tests the applicationUser base tests the application– Example: Book4GolfExample: Book4Golf– Rigorously tested by the software Rigorously tested by the software

development teamdevelopment team– Mass software release where users were Mass software release where users were

asked to testasked to test– Beta users had no motivation to test, thus Beta users had no motivation to test, thus

only usability bugs were communicated to only usability bugs were communicated to teamteam

– UAT: UAT: UUser: Public Tested (no test experience) ser: Public Tested (no test experience) AAcceptable: Acceptable to the Shareholderscceptable: Acceptable to the Shareholders TTesting: No Testing Performedesting: No Testing Performed

Page 12: Click here for Michelle's Presentation

UAT Goal: Rubber UAT Goal: Rubber StampStamp

Demonstration of product to usersDemonstration of product to users– Example: NetellerExample: Neteller– Rigorously tested by software Rigorously tested by software

development teamdevelopment team– UAT Performed the day before releaseUAT Performed the day before release

30 Minute Scripted Test Performed by 30 Minute Scripted Test Performed by Customer SupportCustomer Support

Demo to the Product Managers Demo to the Product Managers – Bugs found would not stop the releaseBugs found would not stop the release– UAT: UAT:

UUser: Customer Support, Product Managers ser: Customer Support, Product Managers AAcceptable: Yes, Acceptable to the cceptable: Yes, Acceptable to the

ShareholdersShareholders TTesting: Scripted and Demo onlyesting: Scripted and Demo only

Page 13: Click here for Michelle's Presentation

UAT Goal : Thorough UAT Goal : Thorough Form of TestingForm of Testing

Test the application End to End Test the application End to End – Example: PASExample: PAS– Rigorously tested by Development TeamRigorously tested by Development Team– UAT performed 8+ months before Go LiveUAT performed 8+ months before Go Live

Performed by SME and trained TestersPerformed by SME and trained Testers Test to validate functionality and to find bugsTest to validate functionality and to find bugs Bugs found could stop the releaseBugs found could stop the release

– UAT: UAT: UUser: All users that would be touched by ser: All users that would be touched by

application application AAcceptable: Yes, Acceptable to the Advisory cceptable: Yes, Acceptable to the Advisory

BoardBoard TTesting: All forms of testingesting: All forms of testing

Page 14: Click here for Michelle's Presentation

Why Are UAT Goals so Why Are UAT Goals so Different?Different?

Mandate to use application? Mandate to use application? Mission Critical application?Mission Critical application? Size and Complexity of Size and Complexity of

application?application? Risk to Organization?Risk to Organization? Risk to Life?Risk to Life? Monetary Risk?Monetary Risk?

Page 15: Click here for Michelle's Presentation

Concerns a Customer Concerns a Customer HasHas

1.1. Will the client deliver the application on Will the client deliver the application on time, in scope and with quality?time, in scope and with quality?

2.2. Will the application work with my Will the application work with my infrastructure, with my data load and with infrastructure, with my data load and with my user load?my user load?

3.3. Will the application integrate with interfaces Will the application integrate with interfaces and secondary applications easily? and secondary applications easily?

4.4. Will I meet my business timeframes and Will I meet my business timeframes and regulatory requirements?regulatory requirements?

5.5. Will the Service Level Agreements be met?Will the Service Level Agreements be met?6.6. Will the Application Upgrade without data Will the Application Upgrade without data

corruption? Will functionality regress?corruption? Will functionality regress?

Page 16: Click here for Michelle's Presentation

Application UsageApplication Usage

Naming Standards

Business Processes

People

Training

Page 17: Click here for Michelle's Presentation

The Application is One The Application is One Piece of the PuzzlePiece of the Puzzle

Application

Infrastructure

Data Interfaces

Page 18: Click here for Michelle's Presentation

What is UAT Test What is UAT Test Coverage?Coverage?

““Test Coverage is the proportion of Test Coverage is the proportion of the product that has been tested”the product that has been tested”

Additionally Test Coverage for UAT Additionally Test Coverage for UAT not only includes testing the not only includes testing the application but also:application but also:– Testing using real environments, with Testing using real environments, with

real data, with real business scenarios , real data, with real business scenarios , with real userswith real users

– End to End testing from “cradle to End to End testing from “cradle to grave” grave”

Page 19: Click here for Michelle's Presentation

Determining your UAT Test Coverage

ASK: What is the complete picture?

1. Application2. Interfaces3. Environment4. Data5. Performance6. Security

Page 20: Click here for Michelle's Presentation

Determining your UAT Test Coverage Cont’d

Application– Business Functionality

Business Processes Application Functionality (80% rule) Complex Functionality

Interfaces – Push to or Pull from (Applications,

Databases, Secondary Applications, Reports, Etc.)

Environment – Platforms /Configuration / Infrastructure

Page 21: Click here for Michelle's Presentation

Determining your UAT Test Coverage Cont’d

Data – Data Characteristics – Naming Standards

Performance – Data Load – User Load – Timeframes

Security

Page 22: Click here for Michelle's Presentation

What is UAT Risk What is UAT Risk Based Testing?Based Testing?

Testing the real and potential risks that threaten the quality of the application

Page 23: Click here for Michelle's Presentation

Defining Test RiskDefining Test Risk

Using the Test Coverage Matrix Using the Test Coverage Matrix created, ask the Businesscreated, ask the Business– What Must Work?What Must Work?– What Do You Value?What Do You Value?– What Threatens the Value of the What Threatens the Value of the

Product?Product?– Brainstorm functional, technical, Brainstorm functional, technical,

performance, security risks that the performance, security risks that the test coverage matrix may have missedtest coverage matrix may have missed

Page 24: Click here for Michelle's Presentation

Categorize the Test Categorize the Test RiskRisk

High, Medium, LowHigh, Medium, Low How bad would it be if this How bad would it be if this

problem occurred? problem occurred? What are the chances that this What are the chances that this

problem can occur?problem can occur? Has it been tested by the Has it been tested by the

Development Team?Development Team? New or Legacy Application?

Page 25: Click here for Michelle's Presentation

Create Tests to Exploit Risk

What tests must be run to exploit What tests must be run to exploit these risks?these risks?

What business processes, data, What business processes, data, infrastructure, and interfaces infrastructure, and interfaces must be used in the test?must be used in the test?

Continually Ask the Test Team Continually Ask the Test Team ““Are we Testing the Right Stuff the Are we Testing the Right Stuff the

Right Way?”Right Way?”

Page 26: Click here for Michelle's Presentation

Finding UAT Defects

All High Severity bugs found will not be fixed

Bugs that are a nuisance in testing become issues in PROD where:– Workarounds need to be developed– Training needs to be incorporated– Users must live with the bug until the

bug is fixed and that release is in PROD

Page 27: Click here for Michelle's Presentation

UAT Regression UAT Regression TestingTesting

Test Risk evolves once the application Test Risk evolves once the application is Live and in Productionis Live and in Production

Review Test Risks from before and Review Test Risks from before and question the test’s current valuequestion the test’s current value– Why repeat the test? Why repeat the test? – What is it’s return on investment (ROI)?What is it’s return on investment (ROI)?– Can the test be run the same way?Can the test be run the same way?

Add new tests to exploit new risksAdd new tests to exploit new risks– Data Migration and Data IntegrityData Migration and Data Integrity– New Functionality and Bug FixesNew Functionality and Bug Fixes

Page 28: Click here for Michelle's Presentation

Questions

?

Page 29: Click here for Michelle's Presentation

AcknowledgementsAcknowledgements

Sabina FabbianSabina Fabbian