Presentation is loading. Please wait.

Presentation is loading. Please wait.

Just In Time Testing Testing Turbulent Web Based Applications

Similar presentations


Presentation on theme: "Just In Time Testing Testing Turbulent Web Based Applications"— Presentation transcript:

1 Just In Time Testing Testing Turbulent Web Based Applications
Robert Sabourin President AmiBug.Com, Inc. Montreal, Canada February 4, 2019 © Robert Sabourin, 2001

2 Just In Time Testing Testing Turbulent Web Based Applications
Overview: Introduction and Definitions Testing Just In Time So What is Exploratory Testing? Quality Factors and Test Objectives Spreading Effort Across Test Objectives Status Some Effective Habits Patterns for Compatibility Testing Checklist Based Testing Scenario Based Testing Requirement Flow Bug Flow TRIAGE Bibliography February 4, 2019 © Robert Sabourin, 2001

3 Introduction & Definitions
February 4, 2019 © Robert Sabourin, 2001

4 Just In Time Testing Testing Turbulent Web Based Applications
Robert Sabourin , Software Evangelist President AmiBug.Com Inc. Montreal, Quebec, Canada February 4, 2019 © Robert Sabourin, 2001

5 AmiBug.Com, Inc. Software Development & SQA Consulting Services
Training, Coaching and Professional Development Light Effective Process Team Building and Organization We help people to get things done! February 4, 2019 © Robert Sabourin, 2001

6 I am a Bug In the style of a children's book.
Robert & Catherine Sabourin ISBN: In the style of a children's book. Explains elements of software development process in a fun easy to read format. February 4, 2019 © Robert Sabourin, 2001

7 Fundamental Question How do you know when you are finished?
February 4, 2019 © Robert Sabourin, 2001

8 Definition of a Bug To make our job more fun, whenever we have a concern with software, we call it a “bug”. February 4, 2019 © Robert Sabourin, 2001

9 Crosby on Quality “Quality is defined as conformance to requirements”
“Quality is not a measure of GOODNESS” Phil B. Crosby, Quality is Free February 4, 2019 © Robert Sabourin, 2001

10 Dr. W. Edwards Deming “Management of quality needs quality management”
“Improve quality, you automatically improve productivity.” February 4, 2019 © Robert Sabourin, 2001

11 Edsger W. Dijkstra “Program testing can be used to show the presence of bugs, but never to show their absence” February 4, 2019 © Robert Sabourin, 2001

12 Definition of a Bug To make our job more fun, whenever we have a concern with software, we call it a “bug”. February 4, 2019 © Robert Sabourin, 2001

13 Testing Web and E-Commerce Applications
It’s all about people! (and the occasional bug too) February 4, 2019 © Robert Sabourin, 2001

14 Purpose of Testing Common definition: Broader definition:
To find bugs before our customers do! Broader definition: The role of testing is to provide objective input to facilitate business decisions! Keeps stakeholders aware of all issues or concerns that relate to shipping a product! February 4, 2019 © Robert Sabourin, 2001

15 About Bugs Bugs are not Good or Bad February 4, 2019
© Robert Sabourin, 2001

16 About Bugs Some bugs are important and have a high priority!
February 4, 2019 © Robert Sabourin, 2001

17 About Bugs Some bugs are dangerous and have a high severity!
February 4, 2019 © Robert Sabourin, 2001

18 About Bugs Setting the priority and severity of a bug is a business decision Changing business conditions impact the priority and severity of a bug! Always review previous decisions in light of changing business context Ensure staff assigning priority and severity are aware of all relevant business drivers February 4, 2019 © Robert Sabourin, 2001

19 Bug Quadrants February 4, 2019 © Robert Sabourin, 2001

20 Business Decisions SQA: Development: Product Management:
Objective input Development: Technical implementation Product Management: Customer driven requirements February 4, 2019 © Robert Sabourin, 2001

21 Quadrant Changing Same technical bug can be in a different quadrant depending on the business context Monitor business drivers! Focus find and fix quadrant -1- bugs high priority/high severity February 4, 2019 © Robert Sabourin, 2001

22 Just for Fun February 4, 2019 © Robert Sabourin, 2001

23 Testing Just In Time February 4, 2019 © Robert Sabourin, 2001

24 Philosophy We have precious little time to run tests!
We must always be prepared! February 4, 2019 © Robert Sabourin, 2001

25 Time February 4, 2019 © Robert Sabourin, 2001

26 Getting Things Done Development BUG REQ FLOW FLOW Release Cycle
- Who manages them? - How are they prioritized? - Where can I find them? - Are the communicated? - Do they get reprioritized? - Are business drivers known? - Are technical risks known? Getting Things Done Development BUG FLOW REQ FLOW - Are builds delivered? - Where do developers work? - Configuration management? - Source control? Baseline? - Transition? Periodic? - Smoke tests? - Owners:Dev IT DBA SQA? - Who manages them? - What are they? - Where can I find them? - When are they updated? - Why are they changing? - How are they evolving? - Do we observe turbulence? Release Cycle February 4, 2019 © Robert Sabourin, 2001

27 Getting Things Done Concern Being Prepared! - Information Flow
Corporate information Key business drivers Sales Market Finance - Technology Flow Architecture Technology churn Tools Techniques Training - Requirement Flow Defined Understood Interrupt Poll Prioritize Turbulence Status Truffle - Bug Flow Defined Understood Business Technical Efficient Expedient Reassess - Test Objectives Quality Factors Technical Risk Failure Modes Importance - Test Strategy Plan Analytic Exploratory Checklists Parallel Chunking Scenarios Data - Test Organization Scheduling Staffing Outsourcing Contractors Students - Testing Lab Multi-tier Server Client Platforms Swap Pattern Synchronized - Test Status Bug charts Test Plan Elaboration Status Pass Fail Execution Status February 4, 2019 © Robert Sabourin, 2001

28 Getting Things Done Where tests are run! Developers Desktop
During development task assignments Unit Testing Development Servers During development and integration task assignments Unit and Integration testing Test Lab Servers During Integration and system test assignments Integration and System Testing Staging Servers Acceptance testing As close as possible to live technologies Live Servers Operational system Site monitoring February 4, 2019 © Robert Sabourin, 2001

29 Never update servers when tests are running!
Getting Things Done Where tests are run! Developers Desktop Development Servers Test Lab Servers Staging Servers Live Servers - Synchronize releasing builds from the development team to the testing team! - Ensure a new builds passes the Smoke Test before it replaces the build currently being tested! Never update servers when tests are running! February 4, 2019 © Robert Sabourin, 2001

30 Getting Things Done Testing Planning Identify Test Objectives
What are we concerned about? What does the application have to do? Technical Risk Compare risk of failure from developers point of view? New code? Unknown technology? Unstable? Business Importance Relative business importance of testing objective? Any test objective more important than any other? Allocate effort Total budget effort Spread across testing objectives Define chunks Define a series of testing activities in chunks of about two hours. Include chunks for Test Elaboration, Exploration and Execution Adapt to change daily Technical and business risks change daily New test objectives and priorities are discovered February 4, 2019 © Robert Sabourin, 2001

31 Getting Things Done Test Scheduling Adapt to change
Revised risks? New test objectives? New chunks? Triage Testing Chunks Assign testing chunks to testing team members. Analysis and exploration to more senior team members DAILY Prioritize Bugs Relative business importance of testing objective? Any test objective more important than any other? Track Progress Total budget effort Spread across testing objectives Smoke Test Should be test new build BUILD Regression Test Does application still work as expected? Did we accidentally break something? Stress Testing How well does the application behave in harsh conditions? Treated as an experiment. February 4, 2019 © Robert Sabourin, 2001

32 Getting Things Done Testing Activities Elaboration Exploration
Define test procedure and test cases. Methods, techniques, test cases. All must be repeatable. Exploration Primarily to identify areas of weakness or instability! Use exploratory testing techniques. PLATFORM Execution Follow defined test procedures or execute automated test scripts. While testing identify bugs! (use checklists!) Track Progress Track defects Open open over time. (TREND CURVE) Track test chunk status over time. (SPREED SHEET) Stress Test Experiment Execute in collaboration with development. As required report bugs and always report stress test results! February 4, 2019 © Robert Sabourin, 2001

33 Break down Test Objectives before detailed analysis
break project into high level test objectives validate priority and importance of these test objectives detail in priority order this way we can start running some important high priority tests before analysis is even started on low priority test objectives February 4, 2019 © Robert Sabourin, 2001

34 Risk Based Chunking Chunk method
How much testing effort to assign to each primary function is based on a risk analysis Commercial and Technical Risk are included in decision each TO is a chunk of testing which will be assigned to one tester February 4, 2019 © Robert Sabourin, 2001

35 Risk Based Chunking Technical risk Which functions:
Have potential instability? Have been changed recently? Look more complex? Have many controls and options? February 4, 2019 © Robert Sabourin, 2001

36 Risk Based Chunking Commercial risk Which functions:
Are customers going to use most? If they fail, could cause the most damage? Do our customers expect to work? Are only used by a few customers? February 4, 2019 © Robert Sabourin, 2001

37 Chunk Workflow Chunk method
A chunk is an amount of testing expected to take about minutes Test lead brakes project into specific test objectives (TOs) Each TO is a chunk of testing which will be assigned to one tester February 4, 2019 © Robert Sabourin, 2001

38 Getting Things Done Wisdom
Exploratory Testing in parallel with elaboration of chunks Elaborate higher priority chunks first Executing chunks as they are elaborated DO NOT WAIT FOR A COMPLETE SET February 4, 2019 © Robert Sabourin, 2001

39 So what is Exploratory Testing?
February 4, 2019 © Robert Sabourin, 2001

40 Exploratory Testing An approach to “test design” that employs general-systems heuristics and specific-systems expertise to enable rapid development of test cases. Approach formalized by James Bach ( Used in General Functionality and Stability Test Procedure for Windows 2000 Application Certification February 4, 2019 © Robert Sabourin, 2001

41 Mandate to explore William Clark Meriwether Lewis The object of your mission is to explore the Missouri river, & such principal streams of it, as, by its course and communication with the waters of the Pacific ocean...may offer the most direct & practicable water communication across this continent for the purposes of commerce. - Thomas Jefferson's letter to Meriwether Lewis, June 1803 February 4, 2019 © Robert Sabourin, 2001

42 Make intelligent decisions
Take notes about your decisions Map out where you have been Others can use the result February 4, 2019 © Robert Sabourin, 2001

43 Chart as you explore Further exploration yields a good idea of the state of the world! One bit at a time February 4, 2019 © Robert Sabourin, 2001

44 Exploration Notes - Tabular - Chronological - Schematic - Point form
- Concise February 4, 2019 © Robert Sabourin, 2001

45 Exploratory Testing Test cases
Not known in advance Defined & executed “on the fly” while you learn about the product Testers need to “hone up” their skills in making maps! Consistent note taking style Practice We need to have a standard template Uniform way to capture details February 4, 2019 © Robert Sabourin, 2001

46 Exploratory Testing During test we must capture
Function, options or sub-functions being explored Test cases attempted Comments, notes, images or attachments Hints, reminders and observations which may be useful to future testers Date, Platform, Build or Configuration under test Name of person running test Oracles, “strategy to assess correctness” Other relevant details February 4, 2019 © Robert Sabourin, 2001

47 Exploratory Test Process
Confirm Test Objective Ensure context known Ensure HW and SW OK All tools available Kick Off Chunk of 90 to 120 min Test, Plan, Discover Prepare Run Wrap up Collect all notes data Complete Review results with Test Lead Review Follow Up Reassess goals Piece together map February 4, 2019 © Robert Sabourin, 2001

48 Quality Factors And Test Objectives
February 4, 2019 © Robert Sabourin, 2001

49 Quality Factors Definition Attributes of software
If not implemented they pose a risk to the success of the software business risk Factors that need to be considered when deciding your testing strategy February 4, 2019 © Robert Sabourin, 2001

50 Quality Factors Why? Purpose Focus
The purpose of testing can be viewed as being activities done to identify issues of concern to the commercial use or deployment of software Focus Quality factors help us to focus testing on the most important characteristics of the software February 4, 2019 © Robert Sabourin, 2001

51 Perceived Software Quality
Factor Perceived Software Quality Adaptability Can functions be enhanced without major redesign? Accessibility Can all users access your application? Auditibility Can a log be presented showing all access&transactions? Availability Can functions be accessed when needed? Continuity Can system continue operation recovering from a failure? Dependability Can users trust results provided? Expandability Can functions be added without major redesign? Functionality Does software perform as advertised? Integrity Is all data stored and returned unaltered. Interoperability Can be used with other software? February 4, 2019 © Robert Sabourin, 2001

52 Perceived Software Quality
Factor Perceived Software Quality Maintainability Can software be updated to new release levels? Operability Can software be easily put into operation? Portability Can software be run in different environments? Reliability How long does the software operate without failure? Re-usability Can elements of software be reused in future? Scalability Can transaction volume increase with more resources? Security Can unauthorized users access systems and data? Serviceability Can bug fixes be integrated with minimum downtime? Testability Can all functions and features be tested? Usability Can the software be easily used by target user? February 4, 2019 © Robert Sabourin, 2001

53 Ranking Quality Factors
It is important to determine the relative importance of each Quality Factor for your project! Testing resources are always severely limited Focus on things important for our business Use a systematic approach Ranking will be used to ensure testing effort is reasonably spread across Quality Factors February 4, 2019 © Robert Sabourin, 2001

54 Ranking Quality Factors
Quality Factor Ranking Table For each Qualify Factor estimate two values Technical Risk Example Scale (1-5) 1 --> No technical risk at all 5 --> High technical risk, lot of new code Business Risk 1 --> Low importance to business 5 --> High importance to business February 4, 2019 © Robert Sabourin, 2001

55 Ranking Quality Factors
Quality Factor Ranking Table For each Quality Factor compute an exposure by multiplying the Technical and Business Risk values associated with it. Then assign a Ranking to each Quality Factor in order of Exposure, for example: HIGH - >= 20 - TOP 5 MEDIUM - > 5 and < 20 LOW - low <= 5 - BOTTOM 5 February 4, 2019 © Robert Sabourin, 2001

56 Example Ranking February 4, 2019 © Robert Sabourin, 2001

57 Types of Web Systems Any Combinations Informational Delivery
Customized access User-provided content Interactive File sharing Transaction oriented Application service provider Database access Document access Workflow oriented Automatic content generator Any Combinations February 4, 2019 © Robert Sabourin, 2001

58 Quality Factors Importance For Different Web Application Types
February 4, 2019 © Robert Sabourin, 2001

59 Spreading Effort Across Test Objectives
February 4, 2019 © Robert Sabourin, 2001

60 Getting Things Done Effort Calculations
Overall effort to spend in system testing is company and project type dependent Effort is assigned to a project and spread across testing objectives February 4, 2019 © Robert Sabourin, 2001

61 Getting Things Done Effort Guesstimation Rule of Thumb What if … ?
on first test cycle (A) we find important bugs on second test cycle (B) we find some bugs hidden by first cycle bugs one third test cycle (C) we find only minor bugs assumes CODE COMPLETE - NO REQUIREMENT CHANGES assumes MINIMAL CODE CHANGES RELATED TO BUG FIXES assumes BUILD PROCESS SOLID February 4, 2019 © Robert Sabourin, 2001

62 Getting Things Done Effort Guesstimation Rule of Thumb
Then effort to run one full test cycle which passes should be approximately (1/7) the total effort budgeted for System testing. T(total) = T(A) + T(B) + T(C) T(A) = 2*T(B) T(B) = 2*T(C) T(total) = 7*T(C) A B C February 4, 2019 © Robert Sabourin, 2001

63 Getting Things Done Effort Guesstimation Rule of Thumb Example:
If the development effort on a project was 14 Person Months So Integration + System Testing estimated at 14 Person Months Total Split (50/50 for example) System testing = 7 person months Test cycle = 1 person month So given 4 chunks per day our total amount of testing chunks to assign to testing objectives would be approximately 80 chunks assuming 20 working days per month! February 4, 2019 © Robert Sabourin, 2001

64 Getting Things Done Example Project TRIWEBCO
Important Testing Objectives Overall Stability [system tests] Typical End User Usage Scenarios [system tests] Typical Platforms [in parallel - check lists] End User Usability [in parallel - check lists] Typical Administrator Usage Scenarios [system tests] Basic Operation of all Functions [system tests] Data Integrity [system tests] Performance [system tests] Scalability [per build stress experiment] Reliability [per build stress experiment] February 4, 2019 © Robert Sabourin, 2001

65 Getting Things Done February 4, 2019 © Robert Sabourin, 2001

66 Status February 4, 2019 © Robert Sabourin, 2001

67 Getting Things Done February 4, 2019 © Robert Sabourin, 2001

68 Getting Things Done February 4, 2019 © Robert Sabourin, 2001

69 Getting Things Done Test Lead Must Track Efforts Every Day!
Number of Tests to elaborate? Number of Tests Passed? Number of Tests Failed? Number of High Priority Bugs to be fixed? Number of Bug Fixes to confirm? Count every day and plot trend graphs! Publish results. February 4, 2019 © Robert Sabourin, 2001

70 Getting Things Done Trend Chart Open Bugs
Monday, February 04, 2019Monday, February 04, 2019 © Robert Sabourin, 1999

71 Getting Things Done Trend Chart Open Bugs By Type
Monday, February 04, 2019Monday, February 04, 2019 © Robert Sabourin, 1999

72 Getting Things Done Testing Schedule
Monday, February 04, 2019Monday, February 04, 2019 © Robert Sabourin, 1999

73 Some Effective Habits February 4, 2019 © Robert Sabourin, 2001

74 Getting Things Done Metaphors Themes RUTHLESS TRIAGE RING BELL
WELL OILED MACHINES Themes Parallelism wherever and always Think and test 24/7, early and always Chunking February 4, 2019 © Robert Sabourin, 2001

75 Q - II E-SQA Manager explained Q - II
Steve Covey “7 Habits of Highly Effective People” A new paradigm of time management February 4, 2019 © Robert Sabourin, 2001

76 Quadrants What we do with our time? How do we use our time
February 4, 2019 © Robert Sabourin, 2001

77 Quadrants Urgency Importance
Things that require and demand our attention now Importance Things that have significance, meaning and value February 4, 2019 © Robert Sabourin, 2001

78 Time Management Matrix
II III IV February 4, 2019 © Robert Sabourin, 2001

79 QII This is where you have to be in order to make a significant impact of your environment To make things better and have a lasting influence To be effective To really get things done! February 4, 2019 © Robert Sabourin, 2001

80 QII By attending this workshop you are participating in a significant QII activity! This workshop is not urgent but obviously (hopefully!) important February 4, 2019 © Robert Sabourin, 2001

81 QII Information Flow is a QII activity Poll Interrupt
Tactfully trolling for information Interrupt Get in the loop Ensure others inform you But don’t depend on them alone February 4, 2019 © Robert Sabourin, 2001

82 Patterns for Compatibility Testing
February 4, 2019 © Robert Sabourin, 2001

83 Platform Coverage What is a Platform?
In testing we consider a “Platform” to be the “Hardware” and “Software” environment that an application under test is run on Typically required to operate on several different platforms Platform can also include other concurrently running applications February 4, 2019 © Robert Sabourin, 2001

84 Browser Compatibility Testing
Web application should: Operate on all popular platforms (Requirements based) Operate with all popular versions of plug-ins and third party components or viewers required Up to corporate policy how far to take this! Pareto principal February 4, 2019 © Robert Sabourin, 2001

85 Browser Compatibility Testing
Which Browser? Which Version? Microsoft Internet Explorer Netscape Navigator AOL Browser Lotus Notes Browser Web TV Browser Mosaic Opera PDA Browsers Cell Phone Browsers Voice Browsers February 4, 2019 © Robert Sabourin, 2001

86 Browser Compatibility Testing
February 4, 2019 © Robert Sabourin, 2001

87 Statistics: AmiBug.Com, August 2001
February 4, 2019 © Robert Sabourin, 2001

88 Platform Coverage Which operating system (O/S)?
International variants of all! Which Locale (of dozens)? Which Hardware? Which Co-dependent Software? Plug Ins Viewers Which Display Resolution? Which System Font Size? Which Color Depth? Cipher Strength? February 4, 2019 © Robert Sabourin, 2001

89 Platform Coverage Number of possible combinations are tumultuous
Cannot possible try each combination even for a short period of time each Even if we restrict out testing to the most commonly used variations over the past two years or so! February 4, 2019 © Robert Sabourin, 2001

90 Platform Coverage We cannot possibly try all combinations Instead
vary platform used under testing in a manner consistent with Technical Risk and Business Risk associated with each platform component define a grid which indicates which platform will be used at which time vary platforms with tests Lots of parallelism!!! February 4, 2019 © Robert Sabourin, 2001

91 Platform Coverage Basic principals
Each testing session will last about 90 minutes Each testing session is run in a test lab Workstations in a test lab can be quickly reconfigured (in less than 30 minutes) to a different platform image copy tools like Ghost or image restores or clever disk partitioning can be used to achieve quick reconfigurations of platforms February 4, 2019 © Robert Sabourin, 2001

92 Platform Coverage Basic principals
Each tester is assigned to perform a testing session on the next available workstation at the appropriate time slot Patterns are established independent of which test in being run February 4, 2019 © Robert Sabourin, 2001

93 Platform Coverage Single Pattern Approach List all likely combinations
For each combination Assign a projected target usage value giving the business risk Assign a technical risk value Cycle through list changing platform periodically so that different tests are run on different platforms February 4, 2019 © Robert Sabourin, 2001

94 Platform Coverage Example Application on
Windows or MAC Netscape or IE Five Tests exist called T1, T2 … T5 Each day we can run 5 tests February 4, 2019 © Robert Sabourin, 2001

95 Platform Coverage Example Technical risk Uniform
Common in Web based applications Market spread application dependent 10% - MAC/Netscape 10% - MAC/IE 30% - Windows/Netscape 50% - Windows/IE February 4, 2019 © Robert Sabourin, 2001

96 Platform Coverage Pattern
February 4, 2019 © Robert Sabourin, 2001

97 Platform Coverage Pattern
Example 2 - Multi-Layered Pattern For each relevant platform component a pattern is defined, in our example we care about the following three characteristics of the workstation: Pattern A - Browser Pattern B - Operating System Pattern C - Locale February 4, 2019 © Robert Sabourin, 2001

98 Platform Coverage Pattern
Example 2 - Multi-Layered Pattern Two testing workstations are made available to testers and are prepared well in advance according to a predefined pattern, identified as W001 and W002 Four testing sessions are run per day in different time slots know as TS01, TS02, TS03 and TS04 February 4, 2019 © Robert Sabourin, 2001

99 Platform Coverage Pattern
Example 2 - Multi-Layered Pattern Testing is organized into 17 different testing sessions identified as T001, T002, … , T017 80 sessions over 10 days of testing February 4, 2019 © Robert Sabourin, 2001

100 Platform Coverage Pattern
Example 2 - Multi-Layered Pattern Notes Railroad Testing approach is used in this example Once all test sessions are completed we restart testing with the first test session Whenever a new build is issued to testing, we continue testing at the next session we do not restart from the beginning! Testing and builds may be asynchronous February 4, 2019 © Robert Sabourin, 2001

101 Platform Coverage Pattern
Example 2 - Multi-Layered Pattern Pattern A - Browser Technical and Market Risk Assessment February 4, 2019 © Robert Sabourin, 2001

102 Platform Coverage Pattern
Example 2 - Multi-Layered Pattern Pattern A - Browser Resulting Pattern - Uniform Random February 4, 2019 © Robert Sabourin, 2001

103 Platform Coverage Pattern
Example 2 - Multi-Layered Pattern Pattern B - Operating System Technical and Market Risk Assessment February 4, 2019 © Robert Sabourin, 2001

104 Platform Coverage Pattern
Example 2 - Multi-Layered Pattern Pattern B - Operating System Resulting Pattern - Uniform Random February 4, 2019 © Robert Sabourin, 2001

105 Platform Coverage Pattern
Example 2 - Multi-Layered Pattern Pattern C - Locale Technical and Market Risk Assessment February 4, 2019 © Robert Sabourin, 2001

106 Platform Coverage Pattern
Example 2 - Multi-Layered Pattern Pattern C - Locale Resulting Pattern - Uniform Random February 4, 2019 © Robert Sabourin, 2001

107 Checklist Based Testing
February 4, 2019 © Robert Sabourin, 2001

108 Checklist Based Testing
Excellent Practice Your testing department should develop a series of one page check lists as an aid to testing the user interface of your web and e-commerce applications All members of the testing team should be trained in how to use these checklists During assigned testing activities, whenever a checklist violation is observed, it should be reported as a bug Lots of parallelism! February 4, 2019 © Robert Sabourin, 2001

109 Checklist Based Testing
Start with Checklists for: Usability Testing Checklist GUI Testing Checklist Application Style Consistency Checklist Design Mistakes Checklist Others specific to your local team and all relevant experiences! February 4, 2019 © Robert Sabourin, 2001

110 Web Usability Checklist
Is purpose of site evident? Are features available to user evident? Is contact information available? Are graphics optimized for quick download? Can users navigate using text only? Is there a site map? Is page layout too cluttered? Is page or site update or revision visible? Is “Title” visible, readable and consistent with intended use of the page? Does a user have to navigate through too many pages to get the information they seek? Are links and icons labeled correctly and consistently with their intended purpose? February 4, 2019 © Robert Sabourin, 2001

111 Web Usability Checklist
Are pages too large? Are there too many links per page? Are there too few links per page? Is help available? Overuse of flashy graphics - gimmicks - without meaningful purpose? Are there always clear and obvious links to the home page? Are printer friendly version of relevant pages available? Are Frequently Asked Questions - and associated answers available? Does you User Interface conform to any required relevant standards? ... February 4, 2019 © Robert Sabourin, 2001

112 GUI Check List Assure consistent look and feel on all pages
Assure the existent of proper controls which are logically required Assure GUI does not have a cluttered appearance Assure all user related system messages are presented consistently, clearly and in an obvious location on the display Navigation order with tab should be logical Default values for all scroll lists, radio buttons, text boxes or other controls should be correct Duplicate entries in scroll lists should not appear Ensure any demarcated are of the display has a meaningful name consistent with it’s intended purpose Ensure radio buttons, scroll lists and text boxes are logically grouped together When hot keys are used duplication must be avoided February 4, 2019 © Robert Sabourin, 2001

113 GUI Check List Ensure names or text or titles are meaningful to users of the system Ensure page titles are unique Ensure abbreviations are not used Ensure that each language version of a page has the same controls - but - which have been localized as required Ensure focus is placed, by default, in an appropriate part of the page Ensure default values are correct Ensure size and shape of buttons are consistent Ensure unavailable options are grayed out Ensure user is given relevant valid controls ... February 4, 2019 © Robert Sabourin, 2001

114 Style Checklist Does page have link to home or origin?
Are all “click here” buttons justified? Do all IMG tags have ALT tags? Can pages be navigated if browser image loading is disabled? Are font styles, sizes, and colors consistent? Is page layout logical for intended purpose? Does page conform to relevant guidelines? Are initial or default states of any selection fields reasonable? Is initial focus at a reasonable location? Are fonts legible? February 4, 2019 © Robert Sabourin, 2001

115 Style Checklist ... Does page have link to home or origin?
Are colors suitable? Background, Foreground, Font Are borders reasonable? Minimize 3-d and special effects Labels and buttons Are suitable images used? ... February 4, 2019 © Robert Sabourin, 2001

116 Design Mistakes Checklist
Back Button Break Slow Down Open New Window Immediate redirection Preventing caching New Browser Windows Non-Standard GUI Widgets Long scrolling pages Lack of navigation support or help Non-standard link colours Outdated information Too long download times February 4, 2019 © Robert Sabourin, 2001

117 Design Mistakes Checklist
Moving pages to new URLs Out of Context headlines Buzz Word Slow Server Response times Too much advertising Frames poorly used Gratuitous use of bleeding edge technologies Scrolling text, marquees, continuous animations Complex URLs Orphan Pages Send your customer away! ... February 4, 2019 © Robert Sabourin, 2001

118 Scenario Based Testing
February 4, 2019 © Robert Sabourin, 2001

119 Scenario Based Testing
Excellent Practice Your testing department should develop a series of typical, real, usage scenarios for each user type Can be done in parallel with development effort Could be based on Use Case Analysis Could be based on Story Boards Testing chunks can be dedicated to scenario elaboration or execution Elaboration (scripting) by testing professionals Execution by contractors, students, support staff etc Lots of parallelism! Individual scenarios can cover many functions! February 4, 2019 © Robert Sabourin, 2001

120 Scenario Based Testing
Story Boards E-Commerce user experience what can be done paths through the system February 4, 2019 © Robert Sabourin, 2001

121 Scenario Based Testing
User Experience Login Read message Check Out specials Buys some stuff Goes to affiliate February 4, 2019 © Robert Sabourin, 2001

122 Scenario Based Testing
User Experience Test Case Parameterize experience Walk through scenario from start to end Use pre selected input for each case Always run every test as if it were a user experience February 4, 2019 © Robert Sabourin, 2001

123 Scenario Based Testing
Best Practice Usage scenarios parameterize data driven start with valid scenarios with valid data February 4, 2019 © Robert Sabourin, 2001

124 Scenario Based Testing
Best Practice Usage scenarios make delete change Randomize order Exercise sequencing Build in parts (wrong then change to right) February 4, 2019 © Robert Sabourin, 2001

125 Scenario Based Testing
Separate test procedure from test data Procedure Instructions to follow in order to run the test Navigation instructions Invariant part of a test February 4, 2019 © Robert Sabourin, 2001

126 Scenario Based Testing
Test Data Any data typed into a form or field by the end user Variable part of a test Potential other data Any other field Any decision February 4, 2019 © Robert Sabourin, 2001

127 Scenario Based Testing
Purchase a book from Amazon.com Procedure go to URL wait for home page to load in search field type in ISBN number of book add book to shopping cart proceed to checkout log in with user name and password ship to this address place order February 4, 2019 © Robert Sabourin, 2001

128 Scenario Based Testing
February 4, 2019 © Robert Sabourin, 2001

129 Scenario Based Testing
Data ISBN Number Scenario Based Testing February 4, 2019 © Robert Sabourin, 2001

130 Scenario Based Testing
February 4, 2019 © Robert Sabourin, 2001

131 Scenario Based Testing
February 4, 2019 © Robert Sabourin, 2001

132 Scenario Based Testing
Data User Name Data Password February 4, 2019 © Robert Sabourin, 2001

133 Scenario Based Testing
February 4, 2019 © Robert Sabourin, 2001

134 Scenario Based Testing
February 4, 2019 © Robert Sabourin, 2001

135 Scenario Based Testing
Data URL ISBN USER NAME PASSWORD February 4, 2019 © Robert Sabourin, 2001

136 Scenario Based Testing
Advantages Separates test code from data Leverage well defined test procedure Same procedure can be used for many different purposes depending on data selected Critical first step in design of scenario based test automation scripts Forces decisions to be deliberate - not random or ad-hoc! February 4, 2019 © Robert Sabourin, 2001

137 Requirement Flow February 4, 2019 © Robert Sabourin, 2001

138 Requirement Turbulence
Software Engineering Workflow Daily change Prioritization of requirements “Very Short” development cycles We are in the react to change business! February 4, 2019 © Robert Sabourin, 2001

139 Defining Requirement Flow
Basic steps: Identify key roles, decision makers Identify project stakeholders Define requirement states Define all possible requirement state transitions Define steps to implement state transitions February 4, 2019 © Robert Sabourin, 2001

140 Defining Requirement Flow
Key roles, decision makers: Role of requirement manager Other roles Who specifically When Minimize but ensure coverage February 4, 2019 © Robert Sabourin, 2001

141 Defining Requirement Flow
Identify project stakeholders Who? Why? Business reason? Importance? Impact on prioritization? February 4, 2019 © Robert Sabourin, 2001

142 Defining Requirement Flow
Define requirement states, for example: Empty Entered, Pending Review Reviewed Implement in current project Implement in future project Suspend, NEVER IMPLEMENT Already Implemented (confirmed) February 4, 2019 © Robert Sabourin, 2001

143 Defining Requirement Flow
Define all possible requirement state transitions: Draw state transition diagram Write up state transition table Identify decision steps Consider new requirement Consider new business context February 4, 2019 © Robert Sabourin, 2001

144 Defining Requirement Flow
Requirement State Transition Diagram Reviewed Entered Empty Current Future Never Confirmed February 4, 2019 © Robert Sabourin, 2001

145 Defining Requirement Work Flow
Label State Transitions L F Reviewed Entered Empty Current Future Never Confirmed K E B D H A C G I J February 4, 2019 © Robert Sabourin, 2001

146 Defining Requirement Work Flow
Label State Transitions February 4, 2019 © Robert Sabourin, 2001

147 Defining Requirement Flow
Define steps to implement state transitions Identify and name each state transition Starting state Ending state Input Outcome Roles and Responsibilities When does this transition How does the transition take place How is result communicated? February 4, 2019 © Robert Sabourin, 2001

148 Bug Flow TRIAGE February 4, 2019 © Robert Sabourin, 2001

149 Bug Flow The “bug” flow is something like this
bug is discovered in testing or reported from the field a bug report form is completed the bug report form is reviewed the bug report is added to the bug list a decision is made, at a bug review meeting, about whether the bug should be fixed if the bug is fixed then the software is re-tested to reconfirm that the bug has indeed been fixed if the bug is not fixed (on purpose!) then a description of the work around is published or made available to help desk staff February 4, 2019 © Robert Sabourin, 2001

150 Bug Reporting Entered Reviewed Prioritized Assigned Unassigned Fixed
REFUSE Entered Reviewed Prioritized Assigned CHECK TRIAGE DESIGNATE CORRECT MANDATE Unassigned Fixed Closed CONFIRM FAILURE February 4, 2019 © Robert Sabourin, 2001

151 Bug Reporting Most important reason to report the bug
provide input to decision makers regarding status of product decision to ship is based on status of open bugs a ship decision is among the most important in the entire software development process if a decision is made to fix the bug the description had better help the developer get the job done! it is critical to have high quality bug report information! February 4, 2019 © Robert Sabourin, 2001

152 Example Bug Flow What do we do when we find a bug? February 4, 2019
© Robert Sabourin, 2001

153 Example Bug Flow Development Lead Test Lead Product Manager
Drive Development Technical risks Test Lead Raise concerns Provide massively objective input Product Manager Customer view Business drivers to project February 4, 2019 © Robert Sabourin, 2001

154 Example Bug Flow Business Decisions Product Manager & Development Lead
Based on objective input from Test Lead Bug prioritization is an important business decision February 4, 2019 © Robert Sabourin, 2001

155 Example Bug Flow Review Prioritization Re-Prioritization
Test lead reviews all bugs DAILY or MORE FREQUENTLY Prioritization Weekly On Demand Whenever a certain number of bugs are pending Re-Prioritization Whenever business or technical context of project changes! February 4, 2019 © Robert Sabourin, 2001

156 Finished? How do you know you are finished? February 4, 2019
© Robert Sabourin, 2001

157 You know you are finished when …
… the only bugs left are the ones that Product Management and Development agree are acceptable (based on objective SQA input) ... February 4, 2019 © Robert Sabourin, 2001

158 You know you are finished when …
… the only bugs left are the ones that Product Management and Development agree are acceptable (based on objective SQA input) … At least for now! February 4, 2019 © Robert Sabourin, 2001

159 Thank You Questions? February 4, 2019 © Robert Sabourin, 2001

160 Bibliography February 4, 2019 © Robert Sabourin, 2001

161 Books Quality Web Systems Testing Applications on the Web
Dustin, Rashka, McDiarmid Testing Applications on the Web Hung Q. Nguyen The Web Testing Handbook Steven Splaine, Stefan P. Jaskiel Testing Computer Software Cem Kaner, Jack Falk, Hung Q. Nguyen February 4, 2019 © Robert Sabourin, 2001

162 Books Software System Testing and Quality Assurance Boris Beizer
Black-Box Testing Dynamics of Software Development Jim McCarthy Software Inspection Tom Gilb, Dorothy Graham February 4, 2019 © Robert Sabourin, 2001

163 Books The Craft of Software Testing Brian Marick Microsoft Secrets
Michael Cusumano, Richard Selby Why Does Software Cost So Much? Tom Demarco The Software Project Survival Guide Steve McConnell February 4, 2019 © Robert Sabourin, 2001

164 WWW www.stickyminds.com Software Test and Quality Engineering
Excellent articles and forums James Bach Heuristic and Rapid testing Elisabeth Hendrickson excellent SQA portal Bug based approaches February 4, 2019 © Robert Sabourin, 2001

165 WWW www.soft.com Software Research Inc. SQA Portal
Software Quality Week Conferences Steve McConnell Software Project Survival Brian Marrick Craft of Software Testing February 4, 2019 © Robert Sabourin, 2001

166 WWW www.kaner.com Cem Kaner SQA site www.amibug.com
Robert Sabourin Site Presentations, SQA resources Brian Lawrence Site tons of check lists and life cycles tools for download February 4, 2019 © Robert Sabourin, 2001

167 WWW www.rational.com home of excellent UML references
several white papers This site provides various kinds of information about software development methods and tools. The site already contains information on almost 400 products from more than 160 software vendors February 4, 2019 © Robert Sabourin, 2001

168 WWW http://www.io.com/~wazmo/qa/
SOFTWARE TESTING HOTLIST contains tons of great pointers and SQA Test web resources. Excellent testing resources related to Browser Compatibility February 4, 2019 © Robert Sabourin, 2001


Download ppt "Just In Time Testing Testing Turbulent Web Based Applications"

Similar presentations


Ads by Google