Het Test Tool Event

11. Getting Testing Done in the Sprint - The Customer Test Team

I don’t mean the acceptance test team, although many think and organize it as if it is the same.

On a test conference a few weeks ago I heard the story of moving testing out of the sprint, or adding a specific test sprint after a development sprint. Both ‘worksrrounds’ I dislike, you lose the flexibility and feedback loop. It was something like the ‘IndependentParallelTesting’ story, also not my favorite solution.

The most clear characteristic of the customer test team is that they aren’t part of the scrum team. You could call them early adopters, power users or the customer test team. Often they execute real life scenario’s, play around in the application or when they are early adopters they do some real work with it.

Beside the question, “do we really need them” is the challenge with these disconnected test teams is, how to get them and their information in a sprint. Threat them as operational findings is a way. But doesn’t solve the challenge of getting their usages data, their findings and reports back on our backlog and in a sprint.

A nice work around to get the findings and knowledge from the customer test team in your teams project, is create a separate backlog for them (read this old post – will update it soon).

Two other interesting technologies which can help teams with this scenario (findings found outside the team) are:

PreEmptive Analytics for TFS. PreEmptive Analytics for TFS CE offers a free, lightweight way to integrate feedback-driven development processes into your development workflow. Your applications will automatically send back exception report data to your PreEmptive Analytics endpoint service as errors occur during their execution

Collecting IntelliTrace Data EverywhereThe collector saves IntelliTrace data as a recording that contains details about exceptions, threads, Web requests, modules, and other system information that is collected while your application runs. In most sections of the recording, you can select one of these items and start debugging with IntelliTrace in Visual Studio Ultimate.

Sogeti Windows 8 Metro Application Demo

This video is a compilation of Windows 8 Metro Applications that Sogeti consultants are working on world wide. Sogeti was asked to put together a small video to be played at WPC 2012 during one of the Keynotes, and we are all very excited to see our hard work on the big screen.<<read more>>

Agile teams find it hard to get the testing effort in sync with the other development activities. Not only development tests are executed during sprints, all other kind of testing activities are part of done. This session will give guidance how Microsoft Visual Studio ALM tools can support agile teams. How to run sprints and get testing done in a sprint.

10. Getting Testing Done in the Sprint – the Definition of Done

Are we done? When this is unclear the team will do too less or too much. Both are bad. The Definition of Done helps to define when you are done, the same as a master test plan helps to define the test levels. A good definition of done specific for your team and project will definitely help knowing when you're ready and to get testing done in a sprint. Mainly because you know when you're done.

Making a good definition of done is a trivial task and books are written about it. A good starting point are these posts:

One thing I really like to keep in mind when defining a Done List are:

Risk Analysis, and together with this the Master Test plan. I should be clear what the risks are and what the impact is on when you are done. You can think of Done ListItems, which help understand the level of testing to be done, like:

All High Risk BPI’s have a test coverage of ..% and no open bugs

All high prio test cases are automated

Low Risk, Low Business PBI’s may have 10% open low impact bugs.

Test Levels, balance the unit, functional and acceptance testing and define where what is tested. Definition of Done items like; all unit tests are green, all functional testing is done or all written acceptance tests are executed, are unclear. How many tests should we write to be done? Code Coverage is one for unit testing, but how do you know when your done specifying functional tests and acceptance tests. So, writing down in the Done list that testing is done isn’t enough it also should have a statement about when test writing is Done.

So, when testing is important and you don’t want to create a random amount of test cases for each PBI, should mention it in the Done List, and for sure make the validation automated with a build system.

These test tasks cover all the test activities the team need to execute to create a BPI conform the definition of done. this will be activities like:

Create test cases based on this and this test design technique for this PBI.

Setup the test infrastructure for load testing

Create test data for regression testing.

Automate this and this test cases.

You name it, there are a lot of test tasks which need to be executed for a PBI to get Done. Often people get scared when they see all the test activities that need to be done, and want to minimize them. Bad job, this is a main reason why you can’t finish testing in a sprint.

A good thing, people (Sogeti) already have been thinking about test activities and they have written a book about it: “TMap Next”. An even better thing, I create a TMap 4 TFS app with all the test activities ready to publish to you TFS Scrum board.

When you don’t have a Windows Phone, you also can use the TMap for VS2010 process template, this one also contains a predefined set of testing tasks. Having predefined tasks isn’t really good, but it is still better as no testing tasks.

TMap for TFS Windows Phone 7 App available in the marketplace.

TMap (Test Management Approach) is a method for structured testing of software. An essential part of the method is the Life Cycle.

The TMap Life Cycle app describes the different phases of the TMap Life Cycle and has the capability to create TMap Test Tasks in your Team Foundation Server project.

The TMap app also offers various downloads for checklists and templates supporting the TMap process. As well as the possibility to download books and papers.

TMap for TFS menu’s

The TMap for TFS App has four main menu’s; TMap, TFS, Sogeti and Books.

TMap is the entry point to the TMap Test Lifecycle. In this menu you can find the different Test Phases, from creation of the plan to the completion and preserving of the testing effort. Every phase has a page with exists out of five sections. Aim, discuses the why if the phase. The activities section shows the TMap test activities and has the capability to upload these to your TFS project, so they become part of your project task list. When you tap on an test activity item it show a more detailed description of this activity. Operation, describes how to run this phase and the products list gives you some guidelines which product should be realized during this phase. The toolbox section has a collection of tools and practices which you can use to execute this phase.

Under the TFS menu you can make the settings and connection to your TFS project for uploading TMap test tasks. See section below for details.

The menu Sogeti and Books provide some additional information.

TMap Test Tasks in Team Foundation Server Projects

The connection with TFS

Collection.

The connection with TFS uses the OData service for TFS. When you want to use this for your own TFS server you need to install and configure the OData service for it, see the docs in the download. You also can use it for your codeplex project. For these login settings see: CodePlex OData API. For TFS 11 Preview OData isn’t available.

The TMap for TFS app saves your settings and will move to the next screen when connected.

Team Projects.

Select or search for a Team Project where you are working on.

Work Item.

Make the default work item settings. Type the name for the work item type you want to create. For Codeplex projects this is ‘Work Item’ for Scrum projects this will be ‘Task’. Give the initial state of this work item type. For Codeplex this will be ‘Proposed’, for Scrum it will be ‘New’. Finaly set the area and iteration path of the work items.

Finally the created work items will appear in TFS and will be accessible by all Visual Studio client tools, Visual Studio, Microsoft Test Manager, Excel, SharePoint and by Web Access.

During release planning meeting. Capture acceptance criteria and immediately add the as logical test cases to the PBI. It will help the team to understand, clarify the discussion and more important for this topic, it helps testers be involved, and be important at the early stages of the software cycle.

Within VS11 | TFS11 this is very easy to accomplish:

add the PBI to the backlog.

add logical test cases, from the backlog item work item. and only add the test case title.

Start planning and execute the sprint

open Microsoft Test Manager, add a test plan for the current sprint.

Add the Backlog items as Requirement Suites to the plan and see the test cases listed in the suite, ready to add test steps.

This is a very small tip, but is very useful to get testing involved in a sprint (see tip 01).

07. Getting Testing Done in the Sprint – Risk and Business driven Tests

I really like the mindset “no risk, no test”. So, when there isn’t any business risk, there aren't any tests and is it easy to fit testing in a sprint. More realistic do a good risk analysis on your product backlog items before start writing thousands of tests. Also in scrum is risk an important attribute.

The release plan establishes the goal of the release, the highest priority Product Backlog, the major risks, and the overall features and functionality that the release will contain.

Products are built iteratively using Scrum, wherein each Sprint creates an increment of the product, starting with the most valuable and riskiest.

Product Backlog items have the attributes of a description, priority, and estimate. Priority is driven by risk, value, and necessity. There are many techniques for assessing these attributes.

Within the TMap test approach product risk analysis is an important technique. Determine risk analyses are part of the proposed activities in the Master Test Plan of TMap: ‘Analysing the product risks’. It not only supports the Product Owner to make the right decisions it also the Team benefits in a later stage, this information is invaluable while defining the right test case design techniques for the Product Backlog Item.

“The focus in product risk analysis is on the product risks, i.e. what is the risk to the organization if the product does not have the expected quality? ” www.TMap.net

Having full product risk analysis for every Product Backlog Item during the Release Planning meeting is slightly overdone, but the major risks should be found. Determine product risks at this stage will also provide input for the Definition of Done list.

TMap Product Risk Analyses

Within the Visual Studio Scrum 1.0 Process Template Product Backlog Items are written down in the Work Item Type ‘Product Backlog Item’. This Work Item Type hasn’t got a specific field for risk classifications. Adding a risk field is preferable (TFS Powertools makes this an easy task) so you can query on this property, or you can make the risk analyses a more product generic property.

TFS Scrum Product Backlog Item

The flow with risk analyzing, classification, discussion and test design with the Product Owner can look like the diagram below.

But again most important for fitting testing in a sprint, know the risks use test design techniques to cover the risk and only write useful test cases.