Presentation is loading. Please wait.

Presentation is loading. Please wait.

Practical Web/E-Commerce Testing Part 1 – Functional Testing

Similar presentations


Presentation on theme: "Practical Web/E-Commerce Testing Part 1 – Functional Testing"— Presentation transcript:

1 Practical Web/E-Commerce Testing Part 1 – Functional Testing
Robert Sabourin President AmiBug.Com, Inc. Montreal, Canada September 19, 2018 © Robert Sabourin, 2001

2 Practical Web/E-Commerce Testing Part 1 – Functional Testing
Overview: Quality Attributes & What can break? Web Tier Application Tier Data Tier September 19, 2018 © Robert Sabourin, 2001

3 Practical Web/E-Commerce Testing Part 1 – Functional Testing
Robert Sabourin , Software Evangelist President AmiBug.Com Inc. Montreal, Quebec, Canada September 19, 2018 © Robert Sabourin, 2001

4 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! September 19, 2018 © Robert Sabourin, 2001

5 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. September 19, 2018 © Robert Sabourin, 2001

6 Fundamental Question How do you know when you are finished?
September 19, 2018 © Robert Sabourin, 2001

7 Crosby on Quality “Quality is defined as conformance to requirements”
“Quality is not a measure of GOODNESS” Phil B. Crosby, Quality is Free September 19, 2018 © Robert Sabourin, 2001

8 Deming Quality approach (PDCA)
Plan, Do, Check, and Act: Plan what you want to implement. Do the pilot implementation. Check the results of the pilot. Act on the results by tweaking the process before the next project. September 19, 2018 © Robert Sabourin, 2001

9 Edsger W. Dijkstra “Program testing can be used to show the presence of bugs, but never to show their absence” September 19, 2018 © Robert Sabourin, 2001

10 "No! Try not, Do. Or do not. There is no try."
September 19, 2018 © Robert Sabourin, 2001

11 Definition of a Bug To make our job more fun, whenever we have a concern with software, we call it a “bug”. September 19, 2018 © Robert Sabourin, 2001

12 Testing Web and E-Commerce Applications
It’s all about people! (and the occasional bug too) September 19, 2018 © Robert Sabourin, 2001

13 Purpose What is the purpose of testing?
Common definition of the purpose of testing Our purpose is to find bugs before our customers do! Broader definition The role of testing is to provide objective input to facilitate business decisions (wise smart and good decisions) September 19, 2018 © Robert Sabourin, 2001

14 About Bugs Bugs are not Good or Bad September 19, 2018
© Robert Sabourin, 2001

15 About Bugs Some bugs are important and have a high priority!
September 19, 2018 © Robert Sabourin, 2001

16 About Bugs Some bugs are dangerous and have a high severity!
September 19, 2018 © Robert Sabourin, 2001

17 About Bugs Setting the priority and severity of a bug is a business decision September 19, 2018 © Robert Sabourin, 2001

18 About Bugs 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 September 19, 2018 © Robert Sabourin, 2001

19 Bug Quadrants September 19, 2018 © Robert Sabourin, 2001

20 Business Decisions SQA Role: Development Role:
Objective input Development Role: Technical implementation/Risk Project/Product Management Role: Customer driven requirements/Impact September 19, 2018 © 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 September 19, 2018 © Robert Sabourin, 2001

22 Finished? How do you know you are finished? September 19, 2018
© Robert Sabourin, 2001

23 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) ... September 19, 2018 © Robert Sabourin, 2001

24 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! September 19, 2018 © Robert Sabourin, 2001

25 Just for Fun September 19, 2018 © Robert Sabourin, 2001

26 Testing Web and E-Commerce Applications
Quality Attributes September 19, 2018 © Robert Sabourin, 2001

27 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 September 19, 2018 © Robert Sabourin, 2001

28 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 September 19, 2018 © Robert Sabourin, 2001

29 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? September 19, 2018 © Robert Sabourin, 2001

30 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? September 19, 2018 © Robert Sabourin, 2001

31 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 September 19, 2018 © Robert Sabourin, 2001

32 Ranking Quality Factors
September 19, 2018 © Robert Sabourin, 2001

33 Example Ranking September 19, 2018 © Robert Sabourin, 2001

34 Testing Web and E-Commerce Applications
What Can Break? September 19, 2018 © Robert Sabourin, 2001

35 Overview Types of Web Systems Basic Web Architecture
Typical Transaction Exercise September 19, 2018 © Robert Sabourin, 2001

36 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 September 19, 2018 © Robert Sabourin, 2001

37 Quality Factors Importance For Different Web Application Types
September 19, 2018 © Robert Sabourin, 2001

38 Basic Web Architecture
Data Services Application Components Process HTTP Requests Application Dependent Code September 19, 2018 © Robert Sabourin, 2001

39 Workstation Component
WORKSTATIONS Browser Operating System Java Virtual Machine User’s Locale Plug-Ins Media Players Viewers Display depth Display resolution Resident applications September 19, 2018 © Robert Sabourin, 2001

40 Workstation Processing
WORKSTATIONS Render all pages based on input from Web Server. Locally run objects such as FLASH animations Execute active X components Execute JAVASCRIPT Execute JAVA Execute VB SCRIPT Execute Viewers Initiate Store local user files Cookies, Cached objects September 19, 2018 © Robert Sabourin, 2001

41 Internet Connections Internet - Network - Servers - Switches
- Routers September 19, 2018 © Robert Sabourin, 2001

42 Internet Connections Web Server
- All HTTP Requests are handled by a Web Server - To service the request: - Find page requested and send it to requestor - or Generate another request to another server - or Execute a local script or program requestor - or Execute a local active server page script which generates a page to send to the requestor - or Execute a local CGI script and send result to - or Return an error message indicating that the request could not be filled presently September 19, 2018 © Robert Sabourin, 2001

43 Internet Connections Application Server
- Web Application Business Logic is executed on the application server - Services and objects processed are totally dependent on the Web Application Purpose - Sometimes developed using third party application infrastructures such as IBM WebSphere September 19, 2018 © Robert Sabourin, 2001

44 Internet Connections Data Server - Data layer
- May contain application specific data - May contain security data - Implemented with one or more physical servers - May include several Databases - Communication to Application Server and Web Server via standard interfaces (SQL) - May include stored procedures and other data handling related application code - May be shared with other applications September 19, 2018 © Robert Sabourin, 2001

45 Firewalls Firewalls - Software or hardware combined
- Restricts traffic - Source - Destination - Type of data - Authentication - Authorization September 19, 2018 © Robert Sabourin, 2001

46 What can break? Time Attention span on Web is limited!
If the time to get a response from any Web or E-Commerce application is longer than 8-12 seconds most users will surf to some another site! September 19, 2018 © Robert Sabourin, 2001

47 What can break? Time Quick fixes and bandage solutions often lead to performance degradation! Operation with full databases, nearly 100% consumed system resources. Stuff outside and within your control impacts response time! September 19, 2018 © Robert Sabourin, 2001

48 Areas of control Outside of Web Application Developers Direct Control
Within Applications Developers Direct Control September 19, 2018 © Robert Sabourin, 2001

49 Workstation Bugs! User Application
Displays and interactivity dependent on Browser Type, Version & O/S User Application Missing or wrong version of Third Party Plug-In or Object Incompatible or Missing JAVA Runtime environment and engine Locale not supported including Language, Fonts other resources Screen resolution and color support not match application Incompatible or Missing Viewer (PDF, 3rd party formats) Incompatible or Missing JAVASCRIPT interpreter September 19, 2018 © Robert Sabourin, 2001

50 Web Server Bugs! Application User Defective HTLM constructs!
User interface design errors - unusable! Missing, incorrect or broken links Runtime errors in Active Server Page (ASP) scripts. Application User Missing, incorrect images, incorrectly identified objects Resources restricted - not enough memory, files system, capacity Runtime errors in JAVASCRIPT or VBSCRIPT code Logic, design or programming logic in code implementing user interface Missing or wrong version of web pages! Too many users for capacity of HTTP server. Denial of service attacks! Too much traffic for capacity of Web server. Pirates, Vandals, Hackers, Snoopers, Bad Guys redirections Incorrect exception handling in code implementing user interface. September 19, 2018 © Robert Sabourin, 2001

51 Web Server Bugs too! Application User HTTP Server Failure
Error handling errors in communicating with other servers Java Server Failure Connection time out due to communication delays Application User O/S Failure - O/S Related problem moving between Unix and Windows Logic error in detecting and processing time out condition Third Party Component Failure Scripting error in CGI script Server Hardware failure Incorrect processing of cookie data in determining session status. Memory Leaks - resource management Access failure communicating with Date Server. Access failure communicating with Application Server Logic error in implementation of CGI scripts. September 19, 2018 © Robert Sabourin, 2001

52 Application Server Bugs!
Missing, required functionality Application User Incorrectly implemented business logic Runtime errors in scripted code Incorrect version of code or objects Server, O/S or third party software failure - middle-ware failure Server hardware failure Cannot handle transaction volume September 19, 2018 © Robert Sabourin, 2001

53 Application Server Bugs too!
Communication failure with Data server Application User Communication failure with Web Server Logic error in implementation of error handling code Memory leaks - resource usage Failure of third part components B2B link to other site failed Design errors in implementation of business logic September 19, 2018 © Robert Sabourin, 2001

54 Data Server Bugs! Application User
Performance delays due to amount of data or system load Communication failure with Application server Application User Communication failure with Web Server Logic error in implementation of error handling code Runtime errors executing stored procedures Design errors in implementation of database logic Memory leaks - resource usage Incorrect schema referenced by different servers - configurations September 19, 2018 © Robert Sabourin, 2001

55 Testing Web and E-Commerce Applications
Web Tier September 19, 2018 © Robert Sabourin, 2001

56 Basic Web Architecture
Web Tier September 19, 2018 © Robert Sabourin, 2001

57 Web Tier Content Testing
Content Testing Correctness Validation and Verification of content is a critical part of testing any Web or E-Commerce application Validate that all information presented is factual Verify that the correct information is presented September 19, 2018 © Robert Sabourin, 2001

58 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 September 19, 2018 © Robert Sabourin, 2001

59 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 September 19, 2018 © Robert Sabourin, 2001

60 Browser Compatibility Testing
Standards? Largely overridden by browsers Differences user input display processing Differences in Java virtual machines Differences in Plug-Ins September 19, 2018 © Robert Sabourin, 2001

61 Browser Compatibility Testing
Which Browser? Microsoft Internet Explorer Netscape Navigator AOL Browser Lotus Notes Browser Web TV Browser Mosaic Opera September 19, 2018 © Robert Sabourin, 2001

62 Browser Compatibility Testing
Which Version of Which Browser Battle of the browsers led to unprecedented number of incompatible versions of supposedly compatible products and technologies Beta releases used as if they were commercial gold releases Non-standard features implemented in different manners on each browser Patches and service packs September 19, 2018 © Robert Sabourin, 2001

63 Browser Compatibility Testing
September 19, 2018 © Robert Sabourin, 2001

64 Platform Coverage Which operating system (O/S)? Windows 2000, XP
Windows 98 Original, 2nd Edition Windows 95 Original, Upgrade A, OSR2 B Window NT 4.0, SP3, SP4, SP5, SP6 Linux Solaris MAC OS September 19, 2018 © Robert Sabourin, 2001

65 Platform Coverage Which Version of Co-dependent Software?
Multiple versions possible for each object used or depended upon! Which Display Resolution? 640 x 480 800 x 600 1024 x 768 1280 x 1024 Custom Which System Font Size? Small Large Which Color Depth? Monochrome 4-bit 8-bit 16-bit 24-bit 32-bit September 19, 2018 © Robert Sabourin, 2001

66 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! September 19, 2018 © Robert Sabourin, 2001

67 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 September 19, 2018 © Robert Sabourin, 2001

68 Platform Coverage Pattern
Example - 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 September 19, 2018 © Robert Sabourin, 2001

69 Platform Coverage Pattern
Example - 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 September 19, 2018 © Robert Sabourin, 2001

70 Platform Coverage Pattern
Example - Multi-Layered Pattern Testing is organized into 17 different testing sessions identified as T001, T002, … , T017 80 sessions over 10 days of testing September 19, 2018 © Robert Sabourin, 2001

71 Platform Coverage Pattern
Example - Multi-Layered Pattern Pattern A - Browser Technical and Market Risk Assessment September 19, 2018 © Robert Sabourin, 2001

72 Platform Coverage Pattern
Example - Multi-Layered Pattern Pattern A - Browser Resulting Pattern - Uniform Random September 19, 2018 © Robert Sabourin, 2001

73 Platform Coverage Pattern
Example - Multi-Layered Pattern Pattern B - Operating System Technical and Market Risk Assessment September 19, 2018 © Robert Sabourin, 2001

74 Platform Coverage Pattern
Example - Multi-Layered Pattern Pattern B - Operating System Resulting Pattern - Uniform Random September 19, 2018 © Robert Sabourin, 2001

75 Platform Coverage Pattern
Example - Multi-Layered Pattern Pattern C - Locale Technical and Market Risk Assessment September 19, 2018 © Robert Sabourin, 2001

76 Platform Coverage Pattern
Example - Multi-Layered Pattern Pattern C - Locale Resulting Pattern - Uniform Random September 19, 2018 © Robert Sabourin, 2001

77 Web Testing Checklists
Your team can develop a series of one page checklists as an aid to testing the user interface of your web and e-commerce applications All team members are trained in their use During assigned testing activities, whenever a checklist violation is observed, it should be reported as a bug September 19, 2018 © Robert Sabourin, 2001

78 Checklists Start with Checklists for:
Usability Testing Checklist GUI Testing Checklist Application Style Consistency Checklist Design Mistakes Checklist Choose check list items from examples, standards, guidelines and relevant past experience September 19, 2018 © Robert Sabourin, 2001

79 Checklists For each checklist: One page per checklist
Related, Rational, Relevant Train testing team Example of conformance Example of violation Same list used in design & development September 19, 2018 © Robert Sabourin, 2001

80 Link Testing Hyperlinks Broken Missing Wrong Point to nothing
Tools can help find broken links Missing Link should be there but it is not Wrong Point to the wrong thing Take user to the wrong page September 19, 2018 © Robert Sabourin, 2001

81 Link Testing Links Are all links from a page valid?
Are all internal links relative? Are all external links absolute? External links should be periodically verified as valid after the site is live. Can key pages be reached with minimal links, for example under three links? September 19, 2018 © Robert Sabourin, 2001

82 Link Testing Links Use site mapping tools to review the structure of the Web Application Any recursive links? Any bi-directional links? Are image maps correctly assigned links? Are frame-sets managed correctly? Can each page be accessed? September 19, 2018 © Robert Sabourin, 2001

83 Link Testing Example with eValid
September 19, 2018 © Robert Sabourin, 2001

84 Link Testing Example with eValid
September 19, 2018 © Robert Sabourin, 2001

85 Link Testing Links Other
Can a search engine of web application find each page? Can you navigate to each page? Other Is Web Page Description correct and relevant when bookmarked? September 19, 2018 © Robert Sabourin, 2001

86 Link Testing Re-direction
Are HTTP error codes managed by appropriate Web Application pages 404 - Not Found 400 - Bad Request 401 - Unauthorized 403 - Forbidden 500 - Internal error 502 - Temporary overload September 19, 2018 © Robert Sabourin, 2001

87 Testing Web and E-Commerce Applications
Application Tier Testing September 19, 2018 © Robert Sabourin, 2001

88 Basic Web Architecture
Application Tier Business Logic Web Application Functionality September 19, 2018 © Robert Sabourin, 2001

89 Functional Testing Identify Functions Prioritize Identify Test Cases
Primary Contributing Prioritize Identify Test Cases Per function Explicit September 19, 2018 © Robert Sabourin, 2001

90 Functional Testing So what is a function!
“Anything the software is supposed to do” Results in a display Changes data Effects the environment Basically two classifications Primary FAILURE RENDERS PRODUCT USELESS FOR TYPICAL USER Contributing PRODUCT COULD STILL PERFORM USEFUL FUNCTIONS FOR TYPICAL USER IF FAILURE September 19, 2018 © Robert Sabourin, 2001

91 Test Case Design Characteristics of Good Test Case
Reasonable probability of catching a bug Can be repeated Not redundant Best of breed Neither too simple nor too complex Based on reality September 19, 2018 © Robert Sabourin, 2001

92 Test Case Design Test Case Characteristics Consider Input
Consider Outcome Consider Initial State Consider End State Input/Outcome Input/Outcome September 19, 2018 © Robert Sabourin, 2001

93 Modeling Test Case Design All state transitions
All paths through the system Rational input Unexpected input Can we get to all states? September 19, 2018 © Robert Sabourin, 2001

94 State Transition Model of Web Site
Consider each page of the site as a State Consider the users action as the input Consider the variable output as the outcome September 19, 2018 © Robert Sabourin, 2001

95 State Transition Model of Web Site
Example mail.yahoo.ca! Starting Page September 19, 2018 © Robert Sabourin, 2001

96 State Transition Model of Web Site
Example mail.yahoo.ca! Valid ID, Password September 19, 2018 © Robert Sabourin, 2001

97 State Transition Model of Web Site
Example mail.yahoo.ca! Mail Session Page September 19, 2018 © Robert Sabourin, 2001

98 State Transition Model of Web Site
Example mail.yahoo.ca! Invalid ID, Password September 19, 2018 © Robert Sabourin, 2001

99 State Transition Model of Web Site
Example mail.yahoo.ca! ID Error Page September 19, 2018 © Robert Sabourin, 2001

100 State Transition Model of Web Site
Example mail.yahoo.ca! Acknowledged Valid ID Mail Session Start ID Error Invalid ID Completed Session September 19, 2018 © Robert Sabourin, 2001

101 State Transition Model of Web Site
Example mail.yahoo.ca! September 19, 2018 © Robert Sabourin, 2001

102 Test Case Design Equivalence Classes Boundary Values
Sets of input events which are similar and exercise the application in the same way! Boundary Values Sets of input events on or very close to the boundary of accepted valid input Test cases should include a mix of valid and invalid input for all equivalence classes and boundary conditions September 19, 2018 © Robert Sabourin, 2001

103 Test Case Design Outcomes Positive Negative
have at least one test case to generate each possible outcome Negative have at least one test case which does not generate each possible outcome September 19, 2018 © Robert Sabourin, 2001

104 Test Case Design Input Invalid inputs Pairs
at least one test with each possible type of invalid input for each type of field on a dialogue use gray box methods to determine common types of fields Pairs at least one test for each possible pair of invalid inputs September 19, 2018 © Robert Sabourin, 2001

105 Test Case Design Error Conditions Error conditions
at least one test for each possible error condition September 19, 2018 © Robert Sabourin, 2001

106 Test Case Design Input Text literal numbers broken HTML, XML
one, “1”, “i”, “l”, “I” broken HTML, XML cut and paste control characters navigation to field! September 19, 2018 © Robert Sabourin, 2001

107 Real Data Real test data
Logs from field are excellent source of real data which is a gold mine for testing since it defines the real usage scenarios from the field! Scramble to protect confidential information September 19, 2018 © Robert Sabourin, 2001

108 Wisdom Repeated testing Make sure test cases can be repeated
allows for regression allows for data driven test automation Test descriptions should be explicit September 19, 2018 © Robert Sabourin, 2001

109 Scenario Based Testing
Web Tier Testing Scenario Based Testing September 19, 2018 © Robert Sabourin, 2001

110 Modeling Story Boards E-Commerce user experience what can be done
paths through the system September 19, 2018 © Robert Sabourin, 2001

111 Modeling User Experience Login Read message Check Out specials
Buys some stuff Goes to affiliate September 19, 2018 © Robert Sabourin, 2001

112 Modeling 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 September 19, 2018 © Robert Sabourin, 2001

113 Data Parameterization
Separate test procedure from test data Procedure Instructions to follow in order to run the test Navigation instructions Invariant part of a test September 19, 2018 © Robert Sabourin, 2001

114 Data Parameterization
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 September 19, 2018 © Robert Sabourin, 2001

115 Data Parameterization
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 September 19, 2018 © Robert Sabourin, 2001

116 Data Parameterization
September 19, 2018 © Robert Sabourin, 2001

117 Data Parameterization
ISBN Number Data Parameterization September 19, 2018 © Robert Sabourin, 2001

118 Data Parameterization
September 19, 2018 © Robert Sabourin, 2001

119 Data Parameterization
September 19, 2018 © Robert Sabourin, 2001

120 Data Parameterization
User Name Data Password September 19, 2018 © Robert Sabourin, 2001

121 Data Parameterization
September 19, 2018 © Robert Sabourin, 2001

122 Data Parameterization
September 19, 2018 © Robert Sabourin, 2001

123 Data Parameterization
URL ISBN USER NAME PASSWORD September 19, 2018 © Robert Sabourin, 2001

124 Data Parameterization
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! September 19, 2018 © Robert Sabourin, 2001

125 Exploratory Testing September 19, 2018 © Robert Sabourin, 2001

126 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 September 19, 2018 © Robert Sabourin, 2001

127 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 September 19, 2018 © Robert Sabourin, 2001

128 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 September 19, 2018 © Robert Sabourin, 2001

129 Example Exploration 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 September 19, 2018 © Robert Sabourin, 2001

130 Testing Web and E-Commerce Applications
Data Tier Testing September 19, 2018 © Robert Sabourin, 2001

131 Basic Web Architecture
Data Tier Application Various Repositories September 19, 2018 © Robert Sabourin, 2001

132 Data Operations Search for a record Insert a new record
Delete an existing record Change an existing record September 19, 2018 © Robert Sabourin, 2001

133 Data Operations Search for a record Different Sizes of Database Small
Typical Large September 19, 2018 © Robert Sabourin, 2001

134 Data Operations Search for a record DBMS Cache impact Random order
Inverse order In order Worst case Best case Repeated September 19, 2018 © Robert Sabourin, 2001

135 Data Operations Search for a record Rules and syntax
Data should not be found Data should be found Multiple selections found September 19, 2018 © Robert Sabourin, 2001

136 Data Operations Search for a record Multilingual database searches
Many concurrent queries in different languages Watch out for search being correct Observe performance and timing! September 19, 2018 © Robert Sabourin, 2001

137 Data Operations Insert a new record Before first record
After last record Random points in table Same data repeatedly Invalid data Valid data September 19, 2018 © Robert Sabourin, 2001

138 Data Operations Delete a record Insert / Delete First record
Last record Random points in table Delete all data Delete data which is pointed to! Insert / Delete Sequence repeatedly and randomly September 19, 2018 © Robert Sabourin, 2001

139 Data Operations Change an existing record
Build record progressively by a series of changes Change name, then change address, then change phone number ... Change to records being pointed to September 19, 2018 © Robert Sabourin, 2001

140 Test Lab DBMS Folk Wisdom
Access Ensure that database use is Restricted accessed only by Test Team accessed by DBA when requested by Test Lead Privileges Ensure user privileges are consistent with typical usage environment execute tests as a NORMAL USER not as a ROOT USER! Tuning Ensure DBMS is configured with recommended or typical customer target parameters for all tunable characteristics such as CACHE size State Ensure you can reset DBMS content by a restore or copy function the Database to a known state September 19, 2018 © Robert Sabourin, 2001

141 Real World Test Data Use test data which is derived from or inspired by real world data Protect real names and identification by carefully scrambling data Ensure security of any commercial medical personal identification September 19, 2018 © Robert Sabourin, 2001

142 Self Checking Data Approach
Test Data Set Each record has at least one field which can be used to confirm the integrity of the entire record Useful to see if a database or a record of a database has been corrupted as a result of insert, delete and change operations. September 19, 2018 © Robert Sabourin, 2001

143 Self Checking Data Approach
Consistency Checking Rules based Valid postal/zip code? Valid ID? Checksums Computed from data Side by Side Reviews Does data match across applications? Visible fields dependent of state of application September 19, 2018 © Robert Sabourin, 2001

144 References “Software Testing Methods and Tools Course Notes”, AmiBug.com, 2001, Robert Sabourin. “Stress Testing Web Applications Workship Notes”, AmiBug.com, 2001, Robert Sabourin. “Testing Applications on the Web”, Wiley 2000, Hung Nguyen. “Testing Process”, MSDN, 2000, Biraj Rath, Raj Nath, Mukesh Agarwal, Jas Lamba “General Functionality and Stability Test Procedure for Windows 2000 Application Certification”, Microsoft, 2000, James Bach. September 19, 2018 © Robert Sabourin, 2001

145 References “Effective Methods for Software Testing”, Second Edition, Wiley 2000, William Perry. “The Engineering of Software”, Addison Wesley, 2001, Hamlet, Maybee. “Configuration Management, The Missing Link in Web Engineering”, Artech House, 2000, Susan Dart. “Lessons Learned in Software Testing”, Wiley, 2002, Kaner, Bach, Pettichord “Managing the Testing Process”, Microsoft Press, 1999, Rex Black “I am a Bug”, AmiBug.Com, 2000, Robert Sabourin September 19, 2018 © Robert Sabourin, 2001

146 Thank You Questions? September 19, 2018 © Robert Sabourin, 2001


Download ppt "Practical Web/E-Commerce Testing Part 1 – Functional Testing"

Similar presentations


Ads by Google