T3CON15: The Best Do's And Don'ts of a Bug Tracking Workflow

  • View
    3.149

  • Download
    4

  • Category

    Software

Preview:

Citation preview

The Do’s & Don’ts of a bug tracking workflow.

@tompeham | @usersnap

That’s me. Thomas Peham.

● Tech Marketer at Usersnap, a visual bug tracking tool.● managing bugtrackers.io

● previously:○ Project Manager at a TYPO3 agency○ Project Manager at Styria Digital One

● blogger for various web development & design blogs.

● @tompeham I @usersnap I @bugtrackers

Outline.

● The problem of bugs.

● 4 steps for tracking down bugs. (and fixing them.)

● From bugs to no bugs.

● Best bug tracking takeaways

Why I’d like to talk about bug tracking today.Or: What is Usersnap about?

@tompeham | @usersnap

bug tracking, the black sheep?

Compared to other web development areas, bug tracking is pretty “old school”.

How people react when it comes to tracking bugs...

Or this way...

The problem of software bugs.

The problem of software bugs.

The problem of software bugs.

Bugs are expensive.

The problem of software bugs.

Bugs are expensive.(approx. $ 312 billion per year globally)

source: Cambridge University

The problem of software bugs.

Developers don’t test their code?!

source: ashleynolan.co.uk

The problem of software bugs.What tool do you use to test your

JavaScript? (if any)

source: ashleynolan.co.uk

Web development has changed. Why bug tracking hasn’t?

So, how do we solve that problem of bugs?

I SEE BUGSEVERYWHERE

Step 1: Ensure a bug-free development environment.

Step 1: Ensure a bug-free development environment.

Yeah, but there will always be some bugs.

Agree on: what is a bug. And what isn’t.

Find the real bugs.

Okay then. Step 1) Define + find bugs.

“A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected result or to behave in unintended ways.”

What is a bug?

software bug

...error, flaw, failure, or fault….

...produce incorrect or unexpected result…

What is a bug?

software bug

something which is not working as designed.

What is a bug?

What is a bug?This is a bug...

something not working as designed.

or.

not designed as it should work?

What is not a bug?

in theory: it’s easy.

in practice: it’s not.

What is not a bug?

So, who’s in charge?

The project manager?QA Team Lead?Development Team Lead?

What is not a bug?

Agile sounds great, right?

What is not a bug? Who’s in charge!?

So, who’s in charge?

The project manager?QA Team Lead?Development Team Lead?

What is not a bug?

Decide + communicate

at the beginning of a

project!

1) automated testing2) manual testing3) crowd testing4) the “banana principle”:

or testing with the customer

How to find bugs?

How to find bugs? Automated testing.

Specify test cases run tests test report

+ no infrastructure (devices, browsers, vms) needed.

+ many platforms & browsers are supported.

+ fast & reliable test cases.

How to find bugs? Automated testing. Benefits.

- Investment in tools required.

- No “real device” feeling - tools have limitations- “agile testing” hardly

possible

How to find bugs? Automated testing. Drawbacks.

How to find bugs? Manual testing.

write test cases & user stories manual testing test

report

+ short-term cost is lower+ manual testing = agile

testing+ more user-centric than

automated testing.

How to find bugs? Manual testing. Benefits.

- investment in human resources is required.

- test execution takes longer than automated testing.

- threat of “human errors”

How to find bugs? Manual testing. Drawbacks.

Let the crowd test your website.

Combines the benefits of manual + automated testing.

How to find bugs? crowdsourced testing.

write test cases & user stories

let the crowd test

test report

+ user-centric feedback+ fast & reliable+ “outside” view to system

How to find bugs? crowdsourced testing. Benefits.

- find the right crowd (=target group)

- still in its early beginnings

How to find bugs? crowdsourced testing. Drawbacks.

Automated vs Manual?

Robots vs human power.

TDD vs agile.

Pre-scripting vs user-centric.

Step 2) document bugs.

Step 2) document bugs.

How a bug report form should look like.

Not.

Step 2) document bugs.

How a bug report form should look like.

Not.

But: Information needed when reporting a bug. Or:The Art of Bug Reporting.

But: Information needed when reporting a bug. Or:The Art of Bug Reporting.

- The What? A description of what happened.- The Where? Place where the bug happened.- The When? Time frame when something

happened.- The Who? Person who discovered the issue.- The Why? Why do you think it happened?

How to write the perfect bug report

- summary + prioritization- details on how to find the

bug again.- meta information.- ….

Your website = place where the error occured.

How to fix the bug documenting process.

crime scene:written document of problem description

bug report:place where the problem should get reproduced % fixed.

developer’s code:

Your website = Where the error occurs.

How to fix the bug documenting process.

crime scene:written document of problem description

bug report:place where the problem should get reproduced % fixed.

developer’s code:This is a loooong way for fixing bugs.

= browser

Why not stay in the same medium?

crime scene:= browser

bug report:= browser?

developer’s code:

This is a visual experience This is a visual experience

Step 3) Reproduce it.

“If you can’t reproduce a bug, it’s almost impossible to fix.”

Step 3) Reproduce it. But how?

bug reporting tool

the client: the project team

project mgmt tool

development environment

But it works on my environment!

There’s a bug!

Step 3) Reproduce it. But how?

integrated PM + bug reporting tool

the client: the project team

development environment

screenshots screenshots+meta info

Step 4) Fix bugs.

Step 4) Fix bugs.

If you’ve followed step 1 - 3, step 4 is easy.

Is it? ;-)

Step 4) Fix bugs.

What does a closed bug mean?

Step 4) Fix bugs.

Step 4) Fix bugs.Who is responsible for

this decision?

So, to the recap...

From bugs to no bugs.

Bugs Find them. Document them.

Reproduce them. Fix them. No

bugs.

Key takeaways

The Waterfall...

The Waterfall...

...is no longer valid.

agile testing

agile testing

#FTW

agile testing

#FTW

Decide on responsibilities!

ad-hoc bug reporting

visual bug reporting

bug tracking responsibilities

Open vs. closed bugs.

But what if...

Communication matters.

Everybody is a QA agent

Now it’s up to you.

@tompeham @usersnap @bug trackers

thomas@usersnap.com

Thomas Peham