Forums for the Business Analyst

 
  Modern Analyst Forums  Business and Sy...  General  Writing Effective Test Cases
Previous Previous
 
Next Next
New Post 12/28/2008 12:46 PM
User is offline dimz
2 posts
No Ranking


Writing Effective Test Cases 

Hi All,

 

Currently, am working as a Requirements Analyst for a project and part of my responsibilities is to review test cases created by SQC engineers to ensure that the requirements are correctly interpreted and the test cases reflect the actual behavior of the system. But since this is my first experience with the concept of test cases, am so confused how to decide which are good test cases and which are not! I am so confused what is the meaning of a test case? What should be in the test case and what is not necessary? And what is the use of test cases since at the end we will do actual testing!!!

In brief, this project is composed of ~ 90% service (web services and backend service) and ~ 10% of GUI, and of course most of the test cases focus of the GUI neglecting the core service L . Moreover, in our company, we do only blackbox testing, so no automated tools or testing scripts!

Recently I heard about the concepts of Catalog-based testing, boundary-based testing and other techniques for testing. I don’t know if this may help to optimize the efforts used in generating test cases.

 

Really am so confused!!! I'll be so grateful if you can help me and I do appreciate any examples or related resources.

 

Thanx in advance.

Also thank you all for this great effort, which I find so so so useful as a newcomer system analyst.

 
New Post 12/29/2008 2:17 AM
User is offline Kimbo
353 posts
5th Level Poster


Re: Writing Effective Test Cases 
Modified By Kimbo  on 12/29/2008 5:20:41 AM)

G'day Dimz,

Testing isn't my favourite thing to do but I'll have a go. In broad brush terms, I look to test each function and associated rules in isolation then to test them as part of any processes that are defined. Use cases lend themselves to this well as a starting point as each alternate of the main function can be tested. Some tools actually generate test cases at the push of a button from use cases - well I've heard of one.

Having been in your position of QAing testers I find they are generally OK at the functional testing but rubbish at the process testing, so you're in danger of ending up with beautifully working individual functions that don't work together ;-)

I think the testing role of a BA on projects is just this kind of high-ish level testing to confirm the functionality and processes we define are there and they work. It is the role of test analysts to define field level boundary testing etc. In your QA capacity you need to be certain this is covered too.

In your particular case with 90% backend, the trigger for these will come from actors like those using the UI or perhaps external systems initiating functions or even a scheduler kicking off a process. The test cases should cover all of these as well. Where an external service being used has not yet been built then a dummy one will need to be created - a supplier may be able to provide this.

I keep thinking of new things as I write this but this will do for starters. I'm sure others will give you a more structured explanation with the correct jargon, but this is what I do.

Oh and one other thing, the test case should show in each line, the test to do with actual values and the expected result with actual values.

And another thing, you should look for at least one tester on the team knowing the system in detail from a business point of view. More if its a bigger team. If they don't really understand the system, they won't test it well.  

Kimbo

 
New Post 12/29/2008 5:04 AM
User is offline Tony Markos
493 posts
5th Level Poster


Re: Writing Effective Test Cases 

Hi:

You probably need to be focused on systems-level test cases (otherwise known as black box test cases).  In doing black box testing, the tester treats the system as a series of  interconnected black boxes.    It is called black box testing because the tester does not know about what goes on inside of the box (i.e., he/she does not look at the code).  Test case:   Specified inputs to and expected outputs from the black box.

Just like a data flow diagram:  Inputs and outputs from functions (black boxes).   And just like in a data flow diagram (i.e., requirements specification) your goal is to get an understanding of essential functions and then use that as a framwork from which to expand into the implementation specific functionality.

If you do it this way then:  Functional requirement:  The system shall do X.      Systems-level test case:   Verify that the system does X.

 Tony

 

 
New Post 12/29/2008 10:31 AM
User is offline dimz
2 posts
No Ranking


Re: Writing Effective Test Cases 

Many thanx for your interest and help...

actually one of the problems that we face in this project that the QC (quality control - testers) team does not really understand the system :( we try to conduct orientations and sessions for each seperate componant before they can start writing test cases, but we fall in the trap of the unability to present the full picture of the actual processing across the system. so as i mentioned earlier, the test cases focus on the GUI (for example, to test a query page, they test that for the different combinations of the filter fields, the expected results should be fetched from the database and displayed, but never care about the underlying business (process) that worked before and set these values in the databas!).

Also, as mentioned in the previous posts, data flow diagrams and use cases (or requirements specifications) should be a guide for test cases, but unfortunately i feel that Test Cases are defined in a way that just re-write these specs (as if converting the diagram into a narration), without adding any new value :( i dont know if this is normal! so my question is: what is the added-value that we as a team working on a project should expect from our QC team?

Regards,
Dimz

 
New Post 12/31/2008 6:33 AM
User is offline Alex P
13 posts
www.businessanalystmentor.com
10th Level Poster


Re: Writing Effective Test Cases 

 Dimz

I am no testing expert but I'll share my opinion anyway 

In my experience, there are two types of testing which you are describing (unless I've misunderstood) which is system testing and user or business acceptance testing.

The former tends to be dumb in that they take the system specifications (use cases, perhaps) and ensure that the system behaves exactly as described. They should test as a minumum all of the positive scenarios to prove the system behaves in the way described.Depending on time, they should also test negative scenarios which is to prove all of the permutations that are NOT mentioned in the system spec also behave as described.

For example, when considering customers, there may be many variations which have no impact on the part of the system under test e.g. gender, age, address, length of time as a customer. In theory, you could test different ages, both genders etc but, in practice, the tester should use his/her judgement and test a limited subset.

The user acceptance testing will be more interested in the underlying business processes and what will happen in the real world. In this case, they should test end to end scenarios which should cover the processes you are discussing.

So, in answer to your question, if they are in charge of system testing, they should be able to test exactly what you have specified and prove that this works as defined. If this is not defined clearly enough then you have a challenge which can only be overcome by communication and test script reviews (which is what you appear to be doing).

If they are in charge of user acceptance testing then they should have experience of the business and either team members have direct knowledge/experience of the business or have access to business people.

I have recently been in your position regarding system testing of a complex system with many business rules and a complicated underlying framework. The only solution we found was frequent communication and making yourself available to review test scripts. provide clarification and, ultmately, undertaking some focussed testing to improve confidence levels.

 

Sorry for the rambling reply - I hope this was helpful

 

Alex

 
Previous Previous
 
Next Next
  Modern Analyst Forums  Business and Sy...  General  Writing Effective Test Cases

Community Blog - Latest Posts

Three Great Tools for Editing Tables
I use Microsoft Word a great deal in my work as a BA, it is my primary tool for formally communicating text based project deliverables.  Where I... Read More...

Relative Item Point (RIP) Estimate Methodology
ABSTRACT Software development is burdened with high levels of complexity (and many unknowns), yet it requires perfection for the software to compile ... Read More...

Winner of complimentary ticket to BA conference
The complimentary ticket to the BA conference, donated by The Atlantic Systems Guild, for the best answer to the question: What will be the role of th... Read More...



Upcoming Live Webinars



Latest Articles

End-to-End UML: Class Diagram
Oct 19, 2014
0 Comments
About the Series This series of articles is designed to present the set of core UML diagrams in a way that emphasizes the important relationships bet...
Featured Digital Library Resources 

brought to you by enabling practitioners & organizations to achieve their goals using:

Copyright 2006-2014 by Modern Analyst Media LLC