Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

Does anyone know of any diagram or tool that can help me think and chalk out a strategy for upgrade testing?

Suppose there is a server side component that can have add-ons, plugins if you will. There are also rich clients in the form of apps (computers and phones). All of these components have inter-dependencies, that is they work on a particular version onwards.

It's pretty complicated to just put it in a simple table and I'm wondering if there is some sort of a diagram (a sample would be helpful) or tool that will help me chalk all of this out. Using squares to denote components and directed lines to denote an upgrade path just isn't cutting it right now.

Thanks!

share|improve this question
    
Aniket, welcome to SQA. Is your goal just to visualize the problem or are you looking for a methodical way to create test cases that cover the various inter-component combinations that you need to test? –  user246 Mar 2 '12 at 14:43
    
It's two fold and therefore both. I want to visualize the problem as well as investigate if there is a defined testing pattern or a standard that the industry follows. –  Aniket Mar 2 '12 at 17:31
add comment

3 Answers 3

up vote 1 down vote accepted

I suspect the best representation for devising a test plan will not be the same as the best representation for visualizing the relationships. For devising a test plan for a combinatorial problem, I think you want a matrix and a list of constraints. The matrix has a column per independent variable, with the possible values of that variable listed in that column. The constraints describe which tuples of values are compatible (or incompatible). In you case, that might mean a column per component, which each column contains the versions of that component, and then a list of which component versions are compatible (or incompatible) with other component versions.

Given this representation, there are a variety of programs that will try to minimize the number of test cases while maximizing the number of combinations that you test. I am glossing over a lot of details, but if you search SQA for "combinatorial", you will find more information about those programs.

share|improve this answer
    
Not precisely what I was looking for, but you've pointed me in the right direction. :) Thank you! –  Aniket Mar 4 '12 at 6:35
add comment

This sounds like the kind of thing where an entity-relationship style diagram or similar would help. If you want gold-plated, Visio does that.

Simpler tools - you can do the same thing (with a bit of extra effort) in any drawing application, and I believe the Google drawing tools offer similar kinds of function.

If I read this correctly, you're looking for something like these images:

enter image description here enter image description here

A quick google for "software system diagrams" got me a lot of links including free software you might like to play with.

Mind-mapping software could also be helpful to you to show relationships and potential upgrade paths.

Just a few thoughts - I hope they help.

share|improve this answer
    
Thanks for for answer Kate. Unfortunately system diagrams aren't what I'm looking for. They visualize the relationship between components. I want to visualize upgrade support, such that comp1 works with v4.2 of server but if comp1 was v 3.2 it will only work with v5.0 and so on. I have a system that's starting to get complicated enough to not be able to remember everything hence need a method to visualize this. :) –  Aniket Mar 2 '12 at 17:35
add comment

Are you looking for something like this description of visualising bamboo dependencies with graphviz?

I also found some other suggestions for diagramming dependencies in this Stack Overflow question: http://stackoverflow.com/questions/100372/good-tool-to-generate-dependency-diagram

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.