quality assurance - the other side of the fence

21
Quality Assurance The other Side of the Fence Clayton Nyakana Tom Clement Oketch Robert Jakech June 2014

Upload: tom-oketch

Post on 11-May-2015

86 views

Category:

Technology


0 download

DESCRIPTION

Presentation about Software Quality Assurance (from ThoughtWorks Kampala GeekNight, 24th June 2014)

TRANSCRIPT

Page 1: Quality Assurance - The Other Side of the Fence

Quality Assurance The other Side of the Fence!Clayton Nyakana!Tom Clement Oketch!Robert Jakech

June 2014

Page 2: Quality Assurance - The Other Side of the Fence

2

This is a talk about Software Testing!

Page 3: Quality Assurance - The Other Side of the Fence

3

Testing should be integrated with one of the quality assurance activities !This verification is done to ensure that we are building the system right

Why?

Page 4: Quality Assurance - The Other Side of the Fence

2

Traditional Versus Agile

Page 5: Quality Assurance - The Other Side of the Fence

4

Unit Testing

Integration Testing

Functional Testing

System Testing

Load Testing

Performance Testing

Acceptance Testing

Types/Categorisations

Page 6: Quality Assurance - The Other Side of the Fence

5

Testing Pyramid

Page 7: Quality Assurance - The Other Side of the Fence

2

Page 8: Quality Assurance - The Other Side of the Fence

TDD

June 2014

Page 9: Quality Assurance - The Other Side of the Fence

12

!Debugger -Needs human intervention, slow, boring !Print Statements -Needs human intervention, slow, polluted code, "Scroll Blindness” !Unit Testing Tools -Automatic,quick,no code pollution

How To Test it…

Page 10: Quality Assurance - The Other Side of the Fence

7

“Unit Test is a procedure used to validate that individual units of functional code are working properly.

!Is usually done by developers

Improves quality

Facilitates changes (refactoring)

Enables automation

Simplifies integration !!

Unit Testing

Page 11: Quality Assurance - The Other Side of the Fence

8

“TDD is an evolutionary approach to development which instructs you to have test-first development intent. “ !

Small successful, tested steps. Do the simplest thing that could possibly work.

!!!!!

What is TDD

Page 12: Quality Assurance - The Other Side of the Fence

9

The TDD Cycle

Page 13: Quality Assurance - The Other Side of the Fence

2

Page 14: Quality Assurance - The Other Side of the Fence

BDD

June 2014

Page 15: Quality Assurance - The Other Side of the Fence

16

!Collaborative Approach to defining software requirements which facilitates Test Automation

Focus on value as opposed to processes !Predictable quality !Protection from defects

Living documentation

What is BDD?

Page 16: Quality Assurance - The Other Side of the Fence

19

Context

GIVEN

Trigger

WHEN

Expectation

THEN

How Do We Use BDD?

Page 17: Quality Assurance - The Other Side of the Fence

19

How Do We Use BDD?

Page 18: Quality Assurance - The Other Side of the Fence

24

Capturing the expected behavior?

Readable and clear enough for a human?

Testable?

Driving the developers down a particular implementation route?

Using “strong verbs” to describe each step?

Allowing automation on “WHEN” statement?

Telling a story?

Are my scenarios:

Assessing Scenarios

Page 19: Quality Assurance - The Other Side of the Fence

2

Page 20: Quality Assurance - The Other Side of the Fence

2

Putting it all together…

Page 21: Quality Assurance - The Other Side of the Fence

30

The Rspec book – David Chelimsky !Bridging the Communication Gap – Gojko Adzic !Specification by Example - Gojko Adzic !The Cucumber Book – Matt Whynne/Aslak Hellsay

Further Reading