QA groups (local)

Posted May 12, 2009 by Wanda
Categories: testing

Here are a couple of links mentioned at the last meeting, so if you are looking to hook up with fellow QA folks check groups out.

2009-05-19 Test Driven Development/Design

Posted May 12, 2009 by Wanda
Categories: agile, testing

This upcoming Communitech Peer 2 Peer session will be “coding dojo” where participants will apply test-driven development on some real code in real time. 

This will be valuable to anyone interested in agile development and automated testing, but will be of particular value to developers interested in TDD. This will be done in C# using Visual Studio 2008 and developers at all levels and experience are encourage to come out.

 Date:  Tuesday, May 19th, 2009
Time:  4:30 to 6:00 pm
Location: Accelerator Centre
295 Hagey Blvd, Waterloo
West Entrance – Room 2
Free Parking

RSVP to wanda@communitech.ca

Books on Agile Testing

Posted May 12, 2009 by dpwhelan
Categories: agile, testing

Here are some good books on Agile Testing:

Agile Testing

A practical guide for testers and agile teams

Lisa Crispin, Janet Gregory

This is a recent book and is a comprehensive and insightful view into all aspects of testing on agile teams. Highly recommended.
Bridging the Communication Gap

Specification by example and agile acceptance testing

Gojko Adzic

Gojko provides a solid treatment of using examples to drive specification, understanding and development of user stories. A focus is on agile acceptance testing through executable specifications of concrete examples.
xUnit Test Patterns

Refactoring test code

Gerard Meszaros

A thorough book covering everything you need to know about writing tests for the xUnit tools. Highly recommended for any developer using xUnit.
Fit for Developing Software

Framework for Integrated Tests

Rick Mugridge, Ward Cunningham

This book provides a great introduction and all you need to know to get up and going with Fit. Fit is a tool for writing “business facing” or acceptance tests.

2009-04-21 Testing in Agile – a QA’s journey

Posted April 15, 2009 by Wanda
Categories: agile

 

Join us at this exciting session as Greg Phillips, Director of Quality Assurance at Innosphere leads off this session with a case study discussing some of the following points:

 

1)     Transition from waterfall to agile

2)     How QA currently works in an agile environment

3)     What can be done to improve the process going forward

 

Come prepared to share your thoughts as with past session, there will be a lot of opportunity for open discussion.

  

Time:  4:30 to 6:00 pm
Location:
Accelerator Centre
295 Hagey Blvd, Waterloo
West Entrance – Room 2
Free Parking

RSVP to wanda@communitech.ca

Challenges with Agile Stories

Posted March 1, 2009 by dpwhelan
Categories: agile, story

This post is the result of group notes on:

“How do we get from stories to effect story tests?”

1. Use a template for stories

As a <role> I want <feature>so that <benefit>.

2. Describe the feature and break down into logical groups or “stories”

3. Elaborate stories with concrete examples that become “acceptance tests”

Acceptance tests are:

  • not a substitute for unit tests
  • different from UI testing
  • focused on business rules

4. Tools for Test Automation

  • Fit/FitNesse
  • xBehave (e.g. nBehave, jBehave)
  • xUnit

Fit example:
Story: As a user, I want to see full names, so that the screens are easy to read.

Story Test: I enter the first name “Joe”, last name “Smith” and I then see the full name “Joe Smith”.

First Name Last Name Full Name?
Joe Smith Joe Smith

5. Differences Between Story Tests and Unit Tests

Unit Tests Story Tests System Tests
Execute code paths
Boundary conditions
Safety for later refactoring
Examples
Behaviour
End to end scenarios

6. Is is Worth the Effort?

  • Version control

Developing Discipline in the Agile Process

Posted March 1, 2009 by dpwhelan
Categories: adoption, agile

This post is the result of group notes on:

“Developing Discipline in the Agile Process”

There were also two related issues:

  • Fighting scope creep
  • Paired programming

How do we ensure stories get done?

  • Scrum/Story Board
  • Stand-up meetings – check status
  • Switch tasks dynamically
  • Ready access to answers
  • Ability to re-prioritize the backlog

How do we avoid scope creep?

  • Refactor often to keep the code clean
  • Story specifications
  • Use TDD to minimize scope

Agile Architecture

Posted March 1, 2009 by dpwhelan
Categories: agile, architecture, story

This session included Architecture with the related topic “Documentation on Agile Teams”

Architecture

Technical debt: price paid for previous actions (e.g. hacks, no unit test, hasty design decisions)

  1. Big Picture
  2. Think Design
  3. Do What Works (and keep it simple)
  4. Discipline & Execution

Architecture Meetings

Additional meetings outside the “iterations” used to plan architectural work.

Bit picture + right team => can product good design + refactoring/polishing

Emergent Architecture

Designs made as you implement will converge if the right decisions are made.

Develop vertical slices (thin lines) early in project to exercise all key architectural blocks.

Requires discipline!

Design Patterns & Ubiquitous Language

Should be underpinnings of system design.

Simple Design

Focus on the simplest solution that works now.

Loose coupling between classes. (Tight coupling leads to technical debt, but too much loose coupling can lead to overly generalized code).

Enables future improvements/expansions

Architecture Workflow

architecture-flow

Product vs. Project

Product issues focus on long-term success of the product and project issues focus on show term issues typically to keep customers or internal stakeholders happy.

Conflict between these two perspectives often leads to technical debt.

  • Must have discipline to write clean, simple code
  • Product owner must be able to present a clear view – honestly
  • Team must push back and challenge product owner for the best long term outcomes

Agile Testing

Posted March 1, 2009 by dpwhelan
Categories: agile, testing

Challenges

  • Value of testing not recognized
  • Laziness
  • Code can break when refactoring
  • Unit testing is boring – uncool
  • Legacy project – testing is such a small dent – demotivating
  • Multiple developers working on the code base breaks other person’s automated tests
  • Coverage – metrics demotivate
  • Setup for test – framework

Solutions

  • Tools to make it easier to write the tests
  • Have someone review the automated tests
  • Demo how code should be used (in unit test code)
    • Aids with documentation (someone else will benefit from investment in testing)
  • Write test first – then the code
    • If interface is agreed upon; it aids TDD
  • Isolated test to module
  • Utilize module owner accountability to overcome demotivation
  • Rewards – motivation token

Output from our Session on Agile Development

Posted March 1, 2009 by dpwhelan
Categories: agile

This was a fun session as the kind folks at Creative Options offered a great space along with food and drinks. Most enjoyable and many thanks to the Creative Options gang!

Format

We ran this session like an Open Spaces conference. People proposed Agile Development topics and then we did some affinity grouping to settle in one four topics which we then discussed:

  1. Challenges with Agile Stories
  2. Developing Discipline in the Agile Process
  3. Agile Testing
  4. Agile Architecture

People then attended one or more sessions. Each group had a recorder who recorded their ideas and comments. You can see the output from each group by clicking on the links above.

Agile Software Engineering Practices class in Cambridge Feb 5,6

Posted February 2, 2009 by dpwhelan
Categories: agile

Christian Gruber of Israfil Consulting will be running an Agile Software Engineering Practices class in Cambridge Feb 5,6 in conjunction with Berteig Consulting. The course is $1,250, and it’s two full days (Thursday and Friday) and will cover a variety of topics but with strong focus on TDD, incremental design, and infrastructure for successful agile teams.  The link to the course is a bit verbose: http://www.berteigconsulting.com/AgileEngineeringPracticesTrainingFebruary2009WaterlooOntarioCanada.

Please note that anyone taking this course gets a transferable discount of $100 on Berteig Consulting’s Certified Scrum Master training.

Christian has also kindly offered a 10% discount off the $1,250 for members of the Waterloo Agile/Lean group. Please use the code ISR-10W090205 on their registration forms.  If you have any questions please email Christian at training@israfil.net.