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
367 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.  


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

Re: Writing Effective Test Cases 


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.



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?


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

Re: Writing Effective Test Cases 


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



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

Community Blog - Latest Posts

How To Effectively Use Observation in Projects
Internships can provide some great learning opportunities. I was lucky enough to learn one of the best lessons on the first day of the very first internship of mine. My mentor at the time asked that, for the first 4 weeks, I invest time in every aspect of his business to learn how everything functio... Read More...

Every Business Analyst Must Negotiate Like a Pro
In the larger context of life, it is very clear that negotiation skills are very important and that those that have them are better off than those who don’t.  What about in business analysis? Are negotiation skills important?  The answer is an emphatic: YES! You bet they are!&n... Read More...

From Developer in India to Business Analyst Abroad
Business Systems Analyst as a Career Option If you are an IT professional in India, thinking of working abroad, you might want to consider a business/systems analyst position. Why? It’s a position in high demand with high earning potential and which can serve as a great foundation for movin... Read More...

Latest Articles

Redesigning Business Processes using Product-Based Design
Mar 22, 2015
The PBD starts with examining the end-product data elements and associated business rules. The BA team then uses this information to redesign a proces...
Featured Digital Library Resources 

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

Copyright 2006-2015 by Modern Analyst Media LLC