Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Shools of Testing

description
by

Christine Slobodian

on 15 August 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Shools of Testing

Quality School
Agile School
Analytical School
Factory School
Context-Driven School
Before we start..
Background
history
school definition
Diversity of
testing approaches,
tecnhiques,
methodologies.

Significant disagreement
between testing experts.
2003
James Bach, Cem Kaner
and Bret Pettichord
formulated a concept of

SCHOOLS
OF
SOFTWARE TESTING
Defined by:
intellectual affinity,
social interaction,
common goals

Made up of:
Hierarchies of values,
Exemplar techniques,
Common vocabulary
reasons
Clarify why experts disagree

Create common frame of reference

Provide background for further discussion
core Beliefs:
Software is a logical artifact
Testing is branch of CS/Math
Techniques must have logical mathematical form
Testing is technical
key question:
Which tecnhiques should we use?
exemplar:
Code coverage

a.k.a. "Structural" testing
numerous code-coverage metrics
objective "measure" of testing
implications:
Precise and detailed specs
Testers verify if software conforms to the specs
most prevalent:
High-reliability industries (e.g. Telecom)
Safety critical industries
authors:
Boris Beizer
Paul Jorgensen
Robert V.Binder
John Musa
schools
of
software testing

What metrics should we use?
core Beliefs:
Software development is a project
Testing must be managed (i.e. predictable, repeatable, planned)
Testing must be cost-effective
Testing is a measure of progress
Testing is following rules
key question:
Requirements traceability

make sure that every requirement has been tested
exemplar:
Clear boundaries between testing and other activities
Resists changing plans
Accepts management assumptions about testing
Encourages industry testing standards, best practices, certification
implications:
most prevalent:
IT projects
Government projects
authors:
Rex Black
Dorothy Graham
Software quality requires discipline
Testing checks if dev.processes are followed
Testers may need to police dev-s to follow the rules
Testers have to protect users from bad software
core Beliefs:
key question:
Are we following good process?
exemplar:
The gate keeper
The software isn't ready until QA says it's ready
implications:
Prefer "Quality Assurance" over testing
Testing is a stepping stone to process improvement
May alienate developers
most prevalent:
Large bureaucracies
Organizations under stress
sees testing as rigorous and technical
with many proponents in academia
sees testing as a way to measure progress
with emphasis on cost and repeatable standards
emphasizes process, policing developers
and acting as the gatpekeeper
also called:
STANDARD SCHOOL
also called:
CONTROL SCHOOL
doesn't accept best practices and chooses
testing strategy based on the context
uses testing to prove that development is
complete; emphasizes automated testing
institutions
Academia
summary :)
institutions:
IEEE Standard Boards
Tester certifications
summary :)
institutions:
Americal society for Quality
Software Engineering Institute (CMMI)
ISO
authors:
Alka Jarvis
summary :)
1
2
3
core Beliefs:
Software is created by people, who set the context
Testing finds bugs (=anything that could bug a stakeholder)
Testing provides information to the project
Testing is a skilled, mental activity
Testing is multidisciplinary
key question:
What tests would be most valuable right now?
exemplar:
Concurrent test design and test execution
Rapid learning
implications:
Expect changes. Adapt testing plans based on test results
Unchallenged assumptions are dangerous.
Pragmatism
Effectiveness of test strategies can only be determined with field research
Focus on skill over practice
most prevalent:
Commercial, Market-driven software
institutions:
LAWST Workshops & Spin-offs
authors:
James Bach
Cem Kaner
summary:
4
core Beliefs:
Software is an ongoing conversation
Testing tells us that a development
story is complete
Tests must be automated
key question:
Is the story done?
exemplar:
Unit Tests
Used for test-driven development
implications:
Developers must provide automation frameworks
Slow to appreciate value of exploratory testing
most prevalent:
IT Consulting
ASP Development
institutions:
Pattern Workshops
authors
Lisa Crispin
Brian Marick
summary :)
5
Going further...
so what is testing?
- A branch of development?
- A branch of software quality assurance?
- A branch of computer science and math?
- A managed process?
- One of the customer's roles?
what is your approach?
Think which of the described
approaches were partially or fully
applied at your past projects?

Which approach do you personally
prefer?
[guess which school does each opinion belongs to]
- Your variant? :)
[you can always think up your own school! :)]
+ Schools debates role play
*
Based on Bret Pettichord presentation:
http://www.io.com/~wazmo/papers/four_schools.pdf
also called:
Test-Driven school
Full transcript