0% found this document useful (0 votes)
37 views57 pages

Spring21 Lecture7 Exploratory

Spring21-Lecture7-Exploratory

Uploaded by

jiji
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views57 pages

Spring21 Lecture7 Exploratory

Spring21-Lecture7-Exploratory

Uploaded by

jiji
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 57

Lecture 7: Exploratory Testing

Gregory Gay
DIT635 - February 10, 2021
Today’s Goals
• Introduce Exploratory Testing
• Human-driven testing of the project, to gain familiarity
with the system and conduct high-level testing.
• Often focused on “tours” of the software features.

2018-08-27 Chalmers University of Technology 2


Exploratory Testing
• Testers check the system on-the-fly.
• Guided by scenarios.
• Often based on ideas noted before beginning.
• Testing as a thinking idea.
• About discovery, investigation, and role-playing.
• Tests end-to-end journeys through app.
• Test design and execution done concurrently.

3
Automation vs Human-Driven
• Unit/System Testing heavily use automation.
• Tests written as code.
• Executed repeatedly, often on check-in.
• Exploratory/Acceptance Testing often human-driven
• Humans interact with app.
• Based on scenarios, without pre-planned input.
• Some tool support, but not often repeated exactly.

4
Exploratory Testing
• Tester write down ideas to give direction, then
create tests “live”.
• Tester chooses next action based on results seen.
• Can find subtle faults missed by formal testing.
• Allows tester to better learn system functionality, and
identify new ways of using features.

5
Example
• Start with functionality
you know well (Login)
• Examine possible
options and list them.
• Use your findings to
plan the next steps.
• As you learn and
observe, more test
cases will emerge.
6
Some slides derived from https://www.softwaretestinghelp.com/what-is-exploratory-testing/
Session-Based Exploratory Testing
• Time-based method to structure exploratory testing.
• Conducted with no e-mail, phone, messaging.
• Short (60min), Normal (90m), Long (120m)
• Primary components:
• Mission
• The purpose of the session.
• Provides focus for the tester.
• Charter
• Individual testing goals to be completed in this session.
• Could be a list of features or scenarios.

7
Session Report Items
• Mission: Overall goal
• “Analyze Login Feature on Website”
• Charter: Features and scenarios to focus on.
• “Login as existing user with username and password”
• “Login as existing user with Google account”
• “Login as existing user with Facebook account”
• “Enter incorrect username and password to verify
validation message”
• “Block your username and verify the validation message”
• “Use Forgot Password link to reset password”
8
Session Report Items
• Start and end time of session
• Duration of session
• Testing notes: journal of actions taken
• Opened login page
• Verified default screen.
• Verified that existing and new user account links exist.
• Opened existing user login
• Verified successful login with username, Google, and Facebook.
• Verified validation messages.

9
Session Report Items
• Fault Information: Describe each fault. File a bug
report, include tracker ID.
• Issues Information: If an issue prevents or
complicates testing, describe it.
• Include data files (screenshots, recordings, files).
• Set-up Time: % of time required to set-up.
• Test Design and Execution Time: % of time spent
purely on testing
10
Session Debrief
• Short meeting between tester and manager to
review the findings.
• Track time spent testing, number of faults reported,
time spent on set-up, time spent on testing, time
spent analyzing issues, features covered.
• Allows time management and process
observability.

11
Tips for Exploratory Testing
• Divide the application into modules or features,
then try to further divide.
• Make a checklist of all the features and put a check
mark when each is covered.
• Start with a basic scenario and then gradually
enhance it to add more features to test it.

12
Tips for Exploratory Testing
• Test all input fields.
• Check for all possible error messages.
• Test all negative scenarios.
• Invalid input, mistakes in usage.
• Check the GUI against standards.
• Check the integration of the application with other
external applications.
• Check for complex business logic.
• Try to do the ethical hacking of the application.
13
Pair-Based Exploratory Testing
• Two people share a computer and test together.
• One person uses the computer, the other suggests
actions and takes notes.
• Can be used to train new developers or testers.
• Benefits of pair testing:
• Increases focus.
• Leads to more constructive ideas.
• Avoids biased input selection.

14
Automating Exploratory Testing
• Use tools to streamline bug reporting and
reproduction, snapshots, preparation of executable
test suites for future use.
• A tool captures and records the activities performed
by the tester.
• Called capture and replay tools.

15
Capture and Replay Tools
• Record input during
exploratory testing.
• The “Capture”
• Capture can be replayed
to reproduce outcomes.
• Capture scripts can be
extended and altered to
form new test cases.

16
Automating Exploratory Testing
• Provides clear steps to reproduce failure.
• Can also judge performance.
• Often used in pair exploratory testing.
• Second tester watches replay from first tester.
• Second tester looks for ways to extend the tests.
• First tester does the same with second tester’s replay.
• Exchange again at the end to confirm results.

17
Example System
• Banking Webapp
• How would you perform exploratory
testing?
• Scenarios you would try?
• Features you would focus on?

18
Tours in Exploratory Testing

19
Using “Tours” in Exploratory Testing
• A tourist seeks to visit as many districts of a city as
possible within the time budget.
• In software, the “city” is the system, and the “districts” are
aspects of the system.
• A tour is a plan for exploratory testing.
• Includes a set of objectives, based on visiting different
“districts”, to focus on during testing.
• Should take less than four hours.

20
Exploratory Tours
• Features split into “districts”
based on type and how we test.
• Business = core functionality
• Seedy = security aspects
• “Tours” related to each district.
• Each prescribes a way of
exploring the software.

21
Business District
• Most important features.
• The functionality that will get
users to buy software.
• Tours focus on features that are used most often.
• Guidebook Tour: Focuses on common user journeys,
covered in user manuals and tutorials.
• Fed-Ex Tour: Focuses on how data is passed and
transformed between these features.

22
Guidebook Tour
• Cities advertise top attractions, and
ensure they are clean and safe.
• Software offers user manuals and tutorials,
illustrating step-by-step use of features.
• Follow tutorials and execute each step.
• Tests both functionality and accuracy of tutorials.
• If software and tutorial do not match, report an issue.

23
Guidebook Variants
• “Blogger’s Tour”
• Follow guides and scenarios from StackOverflow, blogs,
books, other tutorials.
• “Pundit’s Tour”
• Create tests based on complaints.
• Try to reproduce their issues.
• “Competitor’s Tour”
• Perform tour on competing products and their guides.
• Identify potential improvements to your system.
24
Fed-Ex Tour
• When a package is sent, it is
handled by many people and
passes through many locations.
• In software, data is passed,
transformed, and passed again before output appears.
• Examine how data is manipulated.
• Validate data after operations.
• Look at serialization/deserialization.
• (ex: how does shopping site handle mailing addresses?)
25
Fed-Ex Tour Example
• Test Case Management System
• Client app pulls “work
items” from a server
and displays it in GUI
for manipulation.
• Test cases, bug reports
• Relies on server
connection for almost
all functionality.
• Many clients can modify same work items concurrently.
26
Fed-Ex Tour Example
• Test Case Management System
• Must keep data items in sync between clients.
• Bug 1: Modify name of test case, go back to view the
plan. Must manually refresh to see the updated name.
• Bug 2: Modifying the name of a test plan while a second
client had it open would crash the app.
• Bug 3: If a test plan is linked to a deleted CI build, the
app will crash when the plan is opened.

27
Historic District
• Historic districts contain
important old buildings.
• In software, these are older features still in use.
• Tours verify that they still work and are fault-free.
• Bad Neighborhood Tour: Ensure that faulty code now
works, and that fixes did not introduce new faults.
• Museum Tour: Ensure that unchanged code still works
as intended.

28
Bad Neighborhood Tour
• Complex features may have had
many faults fixed over time.
• Focus on those features and ensure that:
• Reported faults have actually been fixed.
• New faults have not been introduced or uncovered.
• Also check related features for introduced faults.

29
Museum Tour
• Older features may not have
been modified or retested recently.
• Verify that old code still works in
the current system.
• Check modification dates in repository, and ensure oldest
elements are retested.
• Such elements often lack tests, are hard to modify, not
tested up to current standards.

30
Let’s take a break.

31
Entertainment District
• Entertainment districts fill in the gaps in a vacation
when you want to relax.
• In software, this represents supporting features that
aren’t part of critical functionality.
• Word processor: Making document look nice.
• Tours visit supporting features and ensures they
are properly intertwined with core features.
• Supporting Actor: Features on-screen with core features
• All-Nighter Tour: Run the software for a long time.

32
Supporting Actor Tour
• Many features might be linked to a
core feature.
• When we search for a product
(core feature), we see “reviews” and
“similar items” (non-core features).
• Focus testing on features that share the screen with
core features.
• Will be used often.
• Make sure they can be accessed from the core feature.
33
Tourist District
• Captures the experience of
being a tourist - visit functions
quickly and avoid deep
inspection of individual features.
• Souvenir Tour: Run quick tests on functions,
examine actions and identify gaps, plan round 2.
• Supermodel Tour: Test the GUI thoroughly, look
for GUI errors, inconsistencies, usability errors.
34
Supermodel Tour
• Ignore the functionality and focus on the GUI.
• As you try different functions:
• Does GUI render properly
and quickly?
• Are transitions clean?
• Are colors and styles used
consistently?
• Is GUI usable and accessible
by those with dyslexia or colorblindness?
35
Supermodel Tour Example
• Dynamics AX Client
• Resource planning system acquired by Microsoft.
• Shift from APIs to heavy GUI development.
• Led to take-up of exploratory testing.
• Found MANY bugs missed by API tests.
• Many new scenarios and interactions not considered before.
• Testers learned that they knew very little about their own app.
• Now: exploratory testing before new features merged.

36
Supermodel Tour Example
• Actions that exposed DynamicAX issues:
• Modify OS settings (brightness/contrast/resolution) and
verify the elements display properly.
• Access remotely and look for flickering or bad rendering.
• Run with multiple monitors.
• Combine with Supporting Actor Tour:
• Open pop-up, but look for GUI issues around pop-up.

• Appearance faults often have major impact on user


perception of the program.
37
Supermodel Tour Example
• Windows Phone
• Mobile OS
• Always connected, supports mobile,
bluetooth, WiFi
• Must consider memory, battery
life, CPU speed, bandwidth.
• Anyone can release apps that can
cause potential issues on a
device.

38
Supermodel Tour Example
• Windows Phone
• Set to an uncommon screen resolution.
• Navigated to different calendar views.
• When selecting a month, the month “view” was centered when it
should have been top-justified.
• Missing flag for screen resolution in this view.
• Usability of Maps application.
• Device knows current location, but does not use it as default
when “Location A” field left blank.
• Not a bug, but fixing would improve user experience.

39
Supermodel Tour Example
• Windows Media Player
• Media player.
• Sync, burn, rip, play many
media types.
• UI-centric application.
• Inputs are text, check boxes,
option icons, disc icons.
• Output is audio, video, dialog boxes.

40
Supermodel Tour Example
• Windows Media Player
• Supermodel tour gave most
rapid results to testers.
• Many typographical mistakes
found early in development.
• Look at text and read slowly.
• (count to two before going to the next word)
• These faults are not *serious*, but will harm your reputation if
there are many of them.

41
Hotel District
• Return to hotel to take a break.
• Focuses on secondary and
supporting usage scenarios.
• Software “at rest” can be very busy.
• Rained Out Tour: Cancel running operations and see if
problems are caused.
• Couch Potato Tour: Leave fields blank and use default
values to assess ability to process partial information.

42
Rained-Out Tour
• Look for operations that can
be cancelled.
• Cancel midway through, see if
everything still works.
• Good for finding failures related to the program’s
inability to clean up after itself.
• Open files, corrupted memory or state.
• Even if there is no cancel button, can click back
button or close entirely.
43
Rained-Out Tour Example
• DynamicsAX
• Change the state of the software before cancelling.
• E.g., open a form and enter information, then close it.
• Opened a pop-up within a form, then closed the form
while pop-up was open.
• App crashed because pop-up was still open.
• After opening “User Setup” form, they left it open and
switched to a different module.
• Crash when they clicked Setup form’s cancel button.

44
Rained-Out Tour Example
• DynamicsAX
• Reattempt scenario after cancelling.
• New feature ensures that creates/updates/deletes for
joined data occur within a single operation.
• Cancel changes by clicking “Restore” button on toolbar.
• Changes discarded and replaced by values in database.
• Reattempted to update same record, leading to crash.

45
Rained-Out Tour Example
• Test Case Management System
• Interrupted server requests and refresh actions can
lead to issues.
• Bug 1: Canceled initial connection to project. No longer
able to manually connect to it.
• Bug 2: Switching test suites during loading does not stop
loading of the original suite.
• Bug 3: Clicking refresh button several times causes
slowdown, as each refresh is handled (not just the latest).

46
Rained-Out Tour Example
• Windows Phone
• Search for contact
• Loaded > 4000 contacts. While searching, they changed the
search string.
• Changed filter clashed with original filter, incorrect results.
• Bluetooth Connection
• If focus shifts while connecting to device, can try to connect again
• Multiple connection requests will be sent.
• Device functions once connected, but multiple failure notices
come back.

47
Couch Potato Tour
• Tester does least interaction
possible.
• Leave default values in place,
leave input fields blank, try to
move forward without offering
much data.
• Ensures software must execute code for processing
blank or partial information and defaults.
• We try so many complicated scenarios that we can miss
or forget the defaults.
48
Seedy District
• Focused on attacking and breaking the system.
• Saboteur Tour: Directly attack
software via malformed input
or resource manipulation.
• Antisocial Tour: Try unlikely input
or perform actions in the wrong order.
• (add 10000 songs instead of one,
try to play an empty playlist,
order 0 or 10000000 pairs of shoes)

49
Saboteur Tour
• Force the software to act.
• Understand the resources it requires to successfully
act.
• Remove of restrict those resources.
• Use corrupt input data, limit network connectivity, allow
too little RAM, run many other apps at the same time.
• Think of ways to creatively disrupt operations and
try them out.
50
Saboteur Tour Example
• Test Case Management System
• Change or remove necessary resources.
• Bug 1: System crashes if connection to data server is
closed at different points.
• Bug 2: System crashes, restarts, crashes again, etc. if
the config file is corrupted.
• Bug 3: System crashes if config file is too large.
• (also try making it read-only, changing file type, deleting)

51
Saboteur Tour Example
• Windows Phone
• Contact lists linked to call history, speed dial, texts, etc.
• Delete linking database between contacts and speed dial.
• Contacts still on device, so phone thinks data is synced.
• However, speed dial is empty.
• Airplane mode may not be accounted for.
• IM client loses connection when airplane mode turned on.
• However, does not realize it was disconnected.
• User can still attempt to use client when nothing will work.

52
Revisiting the Example System
• Banking Webapp
• How would you perform exploratory
testing?
• Scenarios you would try?
• Features you would focus on?
• Particular tours?

53
We Have Learned
• Exploratory Testing
• Tests are not created in advance.
• Testers check the system on-the-fly,
• Often based on ideas noted before beginning.
• Testing as a thinking idea.
• About discovery, investigation, and role-playing.
• Test design and execution done concurrently.
• Often by directly using the software and its user interfaces.

54
We Have Learned
• Tours apply different focus areas to exploration
• Business District: Core features
• Historic District: Legacy code and old software versions
• Entertainment District: Supporting functionality, long
execution sessions
• Tourist District: Looks for gaps in the experience, iterative
fast rounds of exploration.
• Hotel District: Focuses on supporting functionality
• Seedy District: Attacks and misuse of software
55
Next Time
• Unit Testing and Test Automation
• Pezze and Young, Ch 17
• Before Friday’s Exercise Session:
• Install an IDE (IntelliJ, Eclipse) and ensure that JUnit
is installed and usable.
• Assignment 1 due February 14
• Questions?
• (We will post Assignment 2 soon)

56

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy