testing theories & methodologies

24
The Agile Attitude *

Upload: yi-xu

Post on 01-Jul-2015

162 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Testing Theories & Methodologies

The Agile Attitude

*

Page 2: Testing Theories & Methodologies

*

*Scrum / Agile

*Large Scale Transformation

*Team

*Management / Leadership

*Agile Testing / Test Automation

*…

Page 3: Testing Theories & Methodologies

Software testing

-is an empirical

-technical

-investigation

-conducted to provide stakeholders

-with information

-about the quality

-of the product or service under test

Page 4: Testing Theories & Methodologies

Quality

* is value

* to some person

— Gerald Weinberg

*Note the inherent subjectivity

*Note that different stakeholders will perceive the same

product as having different levels of quality

* Testers look for different things

–for different stakeholders. . . .

Page 5: Testing Theories & Methodologies

To know how to test something, you

must understand who the stakeholders

are and how they can be affected by

the product or system under test.

*

Page 6: Testing Theories & Methodologies

• Users

• Programmers whose code interacts with this code

• Maintenance programmers

• Technical writers

• Trainers

• Tech support staff

• Translators

• Marketers

• Investors

Stakeholders (Examples)

Page 7: Testing Theories & Methodologies

*

Page 8: Testing Theories & Methodologies

How well software is

designed

How well the software

conforms to that design

*

Page 9: Testing Theories & Methodologies

Software Product Quality

Conformance to requirements or program specification

Scalability

Correctness

Completeness

Absence of bugs

Fault-tolerance Extensibility

Maintainability

Documentation

Page 10: Testing Theories & Methodologies

Source Code Quality

Readability

Ease of maintenance, testing, debugging, fixing, modification and portability

Low complexity

Low resource consumption : memory, CPU

Number of compilation or lint warnings

Robust input validation and error handling, established by software fault injection

Page 11: Testing Theories & Methodologies

*

Page 12: Testing Theories & Methodologies

Testing Method

White Box Testing

• API Testing

• Code Coverage

• Fault Injection

• Mutation Testing

• Static Testing

Black Box Testing

• Equivalence Partitioning

• Boundary Value Analysis

• All-Pairs Testing

• Fuzz Testing

• Model-Based Testing

• Traceability Matrix

• Exploratory Testing

• Specification-Based Testing

Grey Box Testing

Page 13: Testing Theories & Methodologies

Testing Level

•Unit Testing

•Integration Testing

•System Testing

•System Integration Testing

•Regression Testing

•Acceptance Testing

•Alpha Testing

•Bata Testing

Page 14: Testing Theories & Methodologies

Non-Functional Testing

Performance Testing & Load Testing

Stability Testing

Usability Testing

Security Testing

Internationalization and Localization

Destructive Testing

Page 15: Testing Theories & Methodologies
Page 16: Testing Theories & Methodologies

*

Software can fulfill the objective function

The performance under certain workload

Software can continuously function well in or above

acceptable period

Easy to use and understand

Prevent system intrusion by hackers

Robustness while software failed

Page 17: Testing Theories & Methodologies

*

Easy to maintain

Easy to debug

Easy to fix bug

Easy to modify

Readable

Complexity

Error handling

Page 18: Testing Theories & Methodologies

*Scrum-Based

Page 19: Testing Theories & Methodologies

*

Page 20: Testing Theories & Methodologies

*

*Identify User Role

*E.g. In user-centered design,

fictional Personas are created to

represent the archetypal end

users

*Describe the Story

*E.g. the Condition of Satisfaction

* i.e. Acceptance Tests

Page 21: Testing Theories & Methodologies

*

* i.e. Scrum Backlog Grooming

* Product Owner, Team, Scrum Master

* Clarify User Stories

*Generate Acceptance Tests

Page 22: Testing Theories & Methodologies

*

*Detect

*Data Reference errors

*Data-Declaration errors

*Computation errors

*Comparison errors

*Control-Flow errors

* Interface errors

* Input / Output errors

Page 23: Testing Theories & Methodologies

*

*Automated test execution, e.g.

*Acceptance Testing : Robotframework

*Unit Testing : xUnit

*Frequent test execution, e.g. Hudson

*Code quality measurement, e.g. Sonar

Page 24: Testing Theories & Methodologies

*Thanks!

Xu Yi

Twitter : kaverjody

mailto:[email protected]

http://damianji.spaces.live.com/

http://www.linkedin.com/in/kaveri

“Consultant, Agile Development” @ Nokia Siemens Networks

Scrum / Agile Coaching, Agile Testing & Test Automation