Home

Showing posts with label Manual Testing. Show all posts
Showing posts with label Manual Testing. Show all posts

Saturday, November 13, 2010

A Feature which have become Bouquet of Bugs


Recently, I was testing an online shopping site – just for fun, nothing official. There I saw a feature called as “Tell A Friend”.  I found this feature useful in first glance. During shopping, if you see any product which you find usable for your friend and you think your friends might be interested, just forward info about the product in the mailbox of your friend. You just have to write name & email address of your friend. I think this is great idea to make new customers.
So, I thought to take my hands on this feature but I was highly disappointed when I used this feature. In hurry to introduce the new feature, the site managers kept a bouquet of bugs on the site. Let’s come with me to see the dissection of this feature with me.
Oh… I forgot to tell you the store name. It’s Zappos.com. First, some introduction with Zappos:
Zappos.com is an online shoe and clothing shop. Since its founding in 1999, Zappos has grown to be the largest online shoe store. Zappos did "almost nothing" in sales for 1999, but grossed over USD$800 million in merchandise sales in 2007 and grossed over $1 billion in 2009.
On Zappos.com I selected a product to see its description. The product seemed good to me and I was sure one of my friends would be interested in this product. I decided to forward the details of the product to my friend. So I clicked on “Tell A Friend” button available on the product page.

So I was on “Tell A Friend” Window.

After seeing this window I thought to play with this.
I clicked on Send button to see what would happen if values were not filled. On clicking send I saw two error messages. The error messages were:
  • ·         You  didn’t specify an email to send to
  • ·         You need to supply an email

Displaying an error message is not a formality. They could phrase the error messages in much better way.  Also they displayed the error messages in reverse order of the fields on the form. In the above screenshot you can see that the sender’s email address field appears before receiver’s email address. The error message should also display in the same order. This is not a rule but this is always expected.
From error messages it was clear that sender’s name is not mandatory here. Just one questions from all my readers – How many of you know email addresses of your all friends?
As a friend, I know all my friends by their name and not by their email addresses. So, I believe Sender’s name should be mandatory here.
After this I checked for the validations on the fields.
I filled numerals values in sender’s name, email and receiver’s email address fields.

Clicked on send button. The message had been sent.

As you can see there is no validation on sender’s name, email & receiver’s email address. The message had been sent. I didn’t know which poor devil was going to get this mail.
I have doubt that some professional developer has developed this window. It seems any school going kid has done the job. Even they are also aware of these validations.
Now let’s see the max length validation.
I used Perl Clip for generating the string of one million characters and pasted the string in each field.

No surprise, each field has accepted one million characters. Now I wanted to see what would happen if I click on Send button. So I did the job.
I had doubt that this message would ever go and guess what, I was right.

If they had put max length validation for each field, you have not to see this error. From here, I was sure that I was going to get many bugs in this feature.
This time I thought to select the checkbox to send a personalize message with the product details. So I clicked on check box. It displayed one more field along with Captcha verification.

I clicked on send button again without filling up any data in any field.

As you can see, It had given the same error messages. I was surprised why it didn’t show any error message for personalize message or Captcha. On looking down I saw that marked checkbox was unmarked. So you see on page refresh the data was lost.
Again, I filled up the complete form

and clicked Send button. See, what I got here.
 

Now, this was the biggest joke. The Captcha verification had been provided but application was unable to check the Captcha. Then, what it was doing here? Moreover, instead of fixing the error, the application was suggesting me to send the message without personalize message.
While sending the product details I wanted to tell my friend that why I have chosen this product for him but I couldn’t do that.
As application was unable to send a personalize message, it had also unmarked the checkbox itself, so I decided to send the product details without personalize message. I clicked on send button again.
What?????
It was still looking for Captcha.

To check behind the curtains I clicked on checkbox.
OMG!!!!

Text message was still there. Captcha also had been refreshed.  It means I couldn’t send product details until I remove the personalize message and Captcha text.
One funny thing I noted here: When Captcha text was incorrect, it has given the right error message but when correct Captcha text was entered earlier it was unable to process.
I was unable to understand whether they are making my job easy or tough. I could send direct mail to my friend much faster rather than using this add-on.
Next, I opened the “Tell A Friend” in Mozilla tab as you can see in the following image.

I wanted to see on clicking Cancel button whether it would close the single tab or all tabs. So I clicked on Cancel button. I was expecting tab to be closed but nothing happened.
So, I filled the data in the field and click on Send button. The message was sent.

I clicked on Close button but as usual nothing happened.
Finally I decided to close the window myself and never tried to open it again. I was frightened with “Tell A Friend”.
Before finishing, I just have one request – Just try to reduce the tasks of a user instead of multiplying them. They have lots of things to do in life. Before releasing, please make it sure that application doesn’t have such kinds of stupid bugs.

Tuesday, April 27, 2010

Navigating the Quirks: A Light-Hearted Look at Gmail's User Experience Blunders

I would like to dedicate this post to Santhosh Tuppad. It was Santhosh's post and the comments on the post which gave me idea to write this post. The post is going to heart break some Google fans but I think now they should accept that Google is also fallible.

Mission: To display the stupid mistakes to Google devotees in Gmail Registration form.
Time: 0.5 Hrs

How should I change the language here?
Scenario: I am a common user and I don’t have internet access at home so I go to cyber cafĂ© to use the internet services. On such a public computer, I opened the GMail and found the following screen:



I don’t know Hindi so I am unable to read the content on the screen. How could I change the language to English?

Perhaps, Google forgot to provide the Change Language dropdown here.

GMail Help – Most Stupid Mistake
Scenario: I am using the GMail in Hindi and clicked on ‘Can’t access your account?’ link (Written in Hindi Translation) and redirected to following page:

 Somebody must tell Google that upper right side should be towards upper side of the page and not at bottom of the page.

Now I have doubt on Google’s direction sense. How could I believe on Google Earth now?

Where is the play captcha image?
I am wondering where the play captcha image for this captcha is.

 Play Captcha image: The wheelchair icon with captcha, on clicking you'll be presented with an interesting voice version of the captcha. This is generally used by physically disabled people.

Where is the Refresh button with Captcha image?
Scenario: I am unable to understand the letters in the captcha image. What should I do here?

Should I submit the incorrect word and try again for the new captcha, there is not guarantee that letters in new captcha will be readable

Or Should I refresh the page which will cause the lost of information that I already filled up.

Sorry, we are unable to present username suggestions at this time.

See the screenshot below:


There could be various reasons for this message:
1. GMail server might be busy with any female server :D
2. Its lunch time. :D
3. GMail server may be using the loo :D

Actually, GMail server suggests username on the basis of First name and Last Name entered by user and username can be in English Language only. Here, I have entered Hindi letters and he couldn’t process the request so instead of displaying its inability to suggest username, it has given this error message.

Incorrect Hindi Writing
Neither I had time to search them all nor do I have any spellchecker for Hindi Language so I have mentioned only one mistake in the screenshot. There might be more mistakes in Hindi Spellings.

 The word should be written as ऊपर and not उपर


Displaying Error message without wrong Input

When I clicked on Check availability button, it displayed me a captcha with a field to enter the characters in the captcha and an error message which says
The characters you entered didn't match the word verification. Please try again.

When I didn't enter any word then why they are saying that I have entered incorrect word. This message should appear if I enter the incorrect characters.


Relevant Information is not available on Time

I have filled up the password with the characters which are not allowed by GMail. It displayed me the following error after submitting the form:

The following characters are allowed in your password: a-z, A-Z, 0-9, and common punctuation characters.

If password characters were not valid then why didn’t it displayed the error when I tabbed from the choose password field to next field i.e. re-enter password.

If it has displayed the error at right time I could save a lot of time.

I hope GMail server is not allergic to the user name which I have selected.

In the screenshot, see the distance between the field and error message. It seems that GMail server is allergic to the selected username and that’s why the error message going far away every time I click check availability button.



I am not sure but the reason might be: Whenever user clicks on ‘Check Availability’ button, it generates same error message. To avoid the duplication of error messages, the developer had hid the repeating error message.

The funny thing is when these kind of stupid mistakes are mentioned by any passionate tester who is doing it without any greed, few people got offended. According to them “No one will die and no two countries will go to war.” Believe me if we tester start to keep this point in mind, we don’t need UI / Look and feel testing then.

It took just 30 minutes to find the above issues and I am sure if any tester devotes his some time he can find more issues in Google products.

Trust the Google but with open eyes.

Sunday, April 11, 2010

Bulls and Cows

There is an old proverb - Necessity is the mother of invention. When a scientist invents something there is always a need. The Need is the final motive of any invention.

What is Need?
Need is a condition or situation in which something is required. In short need is requirement.

But what if the need is wrongly interpreted, Is the invention possible in that case? Might be possible but it would not be right invention; it would not actually do what we needed.

Now we change the above proverb according to IT Industries.

Requirement is the mother of every product.

Now what if requirement is wrongly interpreted, is the product possible in that case? Might be possible but it would not be right product because it would not do actually what stakeholders needed.

To provide a quality product to client, it is very important to understand the needs of the client. The purpose of testing can't be fulfilled if tester doesn't understand the requirement properly.

Why the requirement is mis-interpreted?

There may be various reasons such as:
• The clients/ users actually don’t know themselves what they really want or what they need?
• When it is impossible to know who yours users will be and it is quite often if we don’t consider the narrowly defined situation such as an EHR application.
• In general Requirements are not detailed enough to understand the exact needs of the stakeholders.

How the situation can be avoided?

The best solution is questioning. Questioning can be used as a tool to understand the exact requirement of a client. More you ask questions, more you clear about the product.

To depict the power of questioning and how it helps to understand the requirements of a client, we can take example of a game called “Bulls and Cows

What is Bulls & Cows? - In childhood, you might play this game. This is also known as Cows and Bulls or Pigs and Bulls or Bulls and Cleots. This is a code breaking game played between two players.

How the Game is played?
- On a sheet of paper, one player writes a 4-digit secret number. The digits must be all different. Then, the second player tries to guess this number. If the matching digits are on their right positions, they are "bulls", if on different positions, they are "cows". Example:

Secret number: 9374
Opponent's try: 4873 and asks “Is this correct?”
Answer: 1 bull and 2 cows. (The bull is "7"; the cows are "3" and "4".)

On the basis of answer, the opponent tries again until he finds the secret number. By asking a single Question again and again, Opponents finds the correct number.
When a single question can help to find a number then imagine how many questions you can ask in a requirements document. Asking Questions is a skill and it comes with lots of practice and time. But if you know the skill of questioning, there is no way to mis-interpret the requirements.

My Suggestion:
If you find problems to understand the requirements then you should practice “Bulls & Cows”. If there is nobody to play with you, don't panic we have an open source version of “Bulls” and “Cows” called 4 digits.
The game's objective is to guess a four-digit number in 8 times using as less time as possible.

Friday, March 26, 2010

Test Report: Tasks

Introduction:

Tasks is a simple To Do manager, using GTK+ and libecal. It eschews complicated features for a simple interface and functionality that does the right thing.
This application is provided by the Ubuntu community.

Objective: To explore the application, review it, list the features and find the issues in the application.

Assign Time: 1 Hr.

Environment: Ubuntu 8.04

This week I tested a small application called 'Tasks'. I start my testing with exploring the application to become familiar with it. The intention was to find the capabilities of the product.

Features: 
  • Simple and Easy Interface make it very user friendly. Very easy to use.
  • Light Weighted Product, Very low CPU usage
 
  • Auto Synchronization if multiple instances are opened
  • User can distribute the tasks in different categories. A category name can hold up to 65534 characters.
  • Long Task Name is allowed. A Task Name can hold up to 65534 characters.
  • The Task can be associated with web address/es if required.
  • Tasks are listed in chronological order of Priority – High Priority task displays on top followed by normal and low priority task.
My Findings:
  • User is able to uninstall the application without closing it which causes user to use the application after un-installation without any error. Here I assumed un-installation doesn't remove the database from the system. Again installing the application recovers all the task listed before un-installation. It strongen my assumption.
  • Allowing the long name for tasks/categories causes the problem sometimes as it expand the dialog boxes and windows out of screen area.
  •  Notes Text box is free length text area. Limited input don't cause any harm but if user enters more and more data, the application starts to display strange behavior like all characters disappears, overwriting of characters and finally application crash.
 
  • No notification to separate the task on the basis of priority. All tasks looks same. Different color or image notification for each priority can increase the usability.
  • The product is stand alone program. A user can use it for personal purpose only. In that case creating tasks for previous date doesn't make any sense to me.
My Review:

Tasks is a very simple and easy to use. The application is very much stable and can be used by anyone in daily life without any problem.

My Doubt: 
Why the max length of the field is set to 65534 and not 65536? Can anyone clear my doubt, please?

Saturday, February 27, 2010

Test Report: KArm

I have been doing the testing since more than two years but I never got a chance to test and desktop application. So I thought to try my hands with desktop applications also. As this is my first chance with testing of desktop application so I would like your suggestions and comments. Your comments will surely help me to improvise.

Here, I would like to share that I usually works on Windows OS and know very little about the Ubuntu which caused me to face few hurdles during testing of the KArm. So, for the time I have limited myself to functionality testing only until I learn the Ubuntu properly.

Now, lets start the testing...

Product Info:
Name: KArm
Version: 1.6.0
Description: KArm is a time tracker for busy people who need to keep track of the amount of time they spend on various tasks.

This package is part of KDE, and a component of the KDE PIM module.
Environment: Ubuntu 8.04



Mission: To test the functionality of the KArm and find the issues in the application.

Date: 27-Feb-2010
Start Time: 11:30 AM
End Time: 01:00 PM

I started my testing with exploring the product so that I could become familiar with the features and functionality of the application. After spending little time with the product, I gain confidence about the product.

After spending 1.5 hrs with the product I found the following issues in the product.

Issues:
  • User can create a subtask for a super task. If no super task is there in the tracker, the Sub Task button should remain disabled
  • The default 'Detect Desktop as idle' time is set to 15 minutes but user is notify just after 1 minute.
  • Unable to launch KArm Handbook
  • There is a feature in Help menu called 'What's This?' On clicking this menu item, the cursor is converted in to a question mark (?). When user click this question mark on any button in the standard menu bar or column header, it display the details of that screen element. The feature doesn't display detail for 'Sub Task' button
  • User should not be allowed to open the multiple instance of the product.As each instance displays the same task list so there is no use of opening multiple instance.
  • Opening the multiple instances also caused the KArm to display different timings of same task.
  • If multiple instances of the product is opened, it displays the error of shortage of disk space although there is sufficient disk space.

  • While adding/editing a task, the user can enter absolute/relative hours. Here the hours field can accept number up to 9 digits. If user inserts a long digit, it cause the error in time calculation.
  • Clock should display whenever it is started by user but the clock displays only if Session Time column is configured to display and user has started the clock.
  • Product crashed twice during the testing although I couldn't find out the reason due to lack of time but I hope to find it soon.


Learnings:
Overall it was a good experience to test an application for self confidence and improvisation. Today, I came to know that I lacks in test ideas while testing desktop products. Moreover, I need to learn the Ubuntu to do well with my testing. If a tester is not able to use the environment properly, he could not perform the satisfactory testing of the product.

Tuesday, November 10, 2009

Lessons Learned from Pradeep Soundararajan

Chapter 2 - Kids can do Boundary Value Analysis!!

My niece is 5 years old. She doesn't know what is software testing, in fact she doesn't know what is software but still she can do Boundary Value Analysis. Amazing na.... although I have never asked her to do so but still I am sure that she can do it.

Surely, you will be surprised how I am so sure? Actually, she can add the numbers, subtract the numbers and that is exactly what most of us do on the name of Boundary Value Analysis.

I was also following the same approach until Pradeep Sir has not mentioned it in one of his workshop. The question is - Are we really doing analysis?

The Wikipedia says:
Analysis is the process of breaking a complex topic or substance into smaller parts to gain a better understanding of it.

As definition says Analysis is just not adding or subtracting 1. It seems that we have changed the definition of analysis. If what we are doing is analysis then perhaps the software testers at NASA are doing the same :) They are just adding and subtracting the numbers. If that so, any body who can do addition and subtraction can join panel of Software Testers in NASA.

Boundary value analysis is a software testing design technique in which tests are designed to include representatives of boundary values. Values on the edge of an equivalence partition or at the smallest value on either side of an edge. The values could be either input or output ranges of a software component.

The definition doesn't mention +1/-1 approach. It also doesn't tell us that BVA can be be applied on input fields only which we generally do.

It is said that most of the bugs reside on the boundaries. Don't know who made this statement. Might be a tester has made the statement when he found most of the bugs at the boundaries when he was testing an application.

But is he right?

Might be he is right but did he really applied the +1/-1 approach. I don't think so. Check out the total bugs logged by you and then see how many bugs you have found by +1/-1 approach. I am sure the percentage would be very low.

Perhaps we are misunderstanding the concept of Boundary Value Analysis or Might be we need to rename the +1/-1 approach. How about calling it “Kids Approach”.

Think about it tell then let me try to find out what is Boundary Value Analysis?

Wednesday, November 4, 2009

Lessons Learned from Pradeep Soundararajan

Chapter 1 - A Great Learning Opportunity

It was just like an ordinary day. I am working in the office doing tests, having discussions with developers & meetings etc. I was not on my desk for last two hours due to such a meeting. When I returned back I saw a message from Pradeep Sir. I was little bit amazed as I don't receive messages from him regularly so i pinged him back immediately and what he said has changed the ordinary day into special one.


Pradeep Sir was coming to Noida for a corporate workshop and he offered me to attend the workshop for free (not completely free). I was more than happy but two question were in my mind :) (Question should always be there :))

1. Why Pradeep Sir has offered me to attend his workshop on less amount?

2. What would I need to pay to attend the workshop?


But next day I got the reply of my each question.


I don't remember the exact wordings which he used but they are some thing like : Mohit, money is not a big thing. I have sufficient money, so you need not pay anything. Last time you have paid from your own pockets to attend my workshop so this is your reward from me. What I really want from you to learn, learn and learn more and try to help the testing community from your learning and this would be your fee.


I promised him to do so but couldn't do anything yet what I have promised. If I have done so then you would definitely read this article at least 15 days ago but I hope Pradeep Sir know what were the reasons for being late.


Anyway, the two days workshop from Pradeep Sir was one of the best experience.


Don't know what is best... Attending the workshop on Exploratory Testing from the country's best Exploratory Tester, Watching him doing testing, Having discussion with him over lunch or having a vodka shot after the workshop.


The workshop has started with the introduction of Pradeep Sir and ends with SBTM (Session based Test Management). In between we have spent 17 hrs learning the testing skills from one of India's best tester.


Only one blog post can not comprise the whole learning session and it would not be justified to do so I am going to post them in parts one by one. Wait for my next blog post which will discuss “Kids can do Boundary Value Analysis!!”.

Monday, May 18, 2009

Black Box Testing

A testing technique in which tester doesn't need to know the internal structure of the code to test an application. The main objective of Black Box Testing is to test the functionality of the application as a whole.

The Black Box testing considers the application as black box so explicitly it doesn't need the knowledge of internal structure or code. While designing test cases, tester takes external perspective of the application and based on the perspective the test cases are derived which can be functional and non functional.

The Black Box testing techniques is applicable to all levels of testinng : Unit, Integration, System and Acceptance Testing.

Advantage of Black Box Testing:

  • More Effective when used for large systems

  • As the tester and developer are independent of each other, test is balanced and unprejudiced

  • Tester can be non-technical.

  • There is no need of having detailed functional knowledge of system to the tester.

  • Testing helps to identify the vagueness and contradiction in functional specifications.

  • Test cases can be designed as soon as the functional specifications are complete

Disadvantage of Black Box Testing:

  • Test cases are tough and challenging to design, without having clear functional specifications

  • It is difficult to identify tricky inputs, if the test cases are not developed based on specifications.

  • It is difficult to identify all possible inputs in limited testing time. So writing test cases is slow and difficult

  • Chances of leaving many program paths untested

  • Chances of repeating the tests that are already done by programmer.

Black Box Testing Techniques: Typical Black Box testing techniques are as follows:

  • Error Guessing

  • Equivalence Partitioning

  • Boundary Value Analysis

Error Guessing: Error Guessing is a testing technique which is based upon the tester's past experience, knowledge and intution to predict where the bugs can be found in application under test. Some areas to guess are: empty or null strings, zero instances, occurrences, blank or null characters in strings, Negative numbers etc.

Equivalence Partitioning: Equivalence Partitioning is a Black Box testing technique in which input domain data is divided into different equivalence data classes. This technique tries to define test case that uncovers classes of errors, thereby reducing the total number of test cases that must be developed.

For E.g.: Consider you are testing a date field which can accept date from 01-01-2001 to 31-12-2010 . In this case there is no use to write 3652 test cases for all valid inputs plus test cases for invalid inputs.

By using Equivalence Partitioning, we can divide all the inputs into three classes:

  1. Dates before 01/01/2001 - Input data class with all values below lower limit. i.e. any value below 01/01/2001, as a invalid input data test case.

  2. Dates from 01/01/2001 to 31/12/2009 - One input data class with all valid inputs. Choose a single value from 01/01/2001 to 31/12/2009 as a valid test case. One test case for valid input data is sufficient because If you select other values between 1 and 1000 then result is going to be same.

  3. Dates after 31/12/2009 - Input data class with all values upper to higher limit. i.e. any value after 31/12/2010, as a invalid input data test case.

By using Equivalence Partitioning, we have categorize all the test cases into three classes. Now we can choose an input value from each class to design our test cases. As you can see by using Equivalence Partitioning, we have covered maximum condition from fewest test cases.

Boundary Value Analysis (BVA): From Practice and Experience, it has been prove that most of the errors are found at the boundaries of input and output ranges of an application component that result in application faults. Boundary value analysis assists with the design of test cases that will exercise these boundaries in an attempt to uncover faults in the software during the testing process.

As Equivalence Partitioning, BVA is also used to design test cases where test cases are selected at the boundary of the input ranges.

For eg: In the above example test cases for date field accepting dates between 01/01/2001 to 31/12/2010 using BVA will be as follows:

  1. Test cases with test data exactly as the input boundaries of input domain i.e. values 01/01/2001 and 31/12/2010.

  2. Test cases with test data with values just below the boundaries of input domains i.e. 31/12/2000 and 30/12/2010.

  3. Test cases with test data with values just above the boundaries of input domains i.e. 02/01/2001and 01/01/2011.

After determining the necessary test cases with equivalence partitioning and subsequent boundary value analysis, it is necessary to define the combinations of the test cases when there are multiple inputs to an application component.

Thursday, November 6, 2008

Exploratory Testing - An Introduction

Exploratory Testing - The term coined by Cem Kaner in 1983. He defines exploratory testing (ET) as
A style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the quality of his/her work by treating test - related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parrallel throughout the project.
The definition is too explicit. In simple words we can say that:
Exploratory Testing is an approach of software testing that can be described as simultaneous learning, test design and test execution.
Exploratory testing is not pre-planned as in case of test cases based testing (i.e. scripted testing) but it is done with a point of view exploring features of the product and to find bugs which were not logged during scripted testing. Every Software Tester knowingly or unknowingly does it. In exploratory testing, next result is influenced by the result of last test.

Jon Bach has defined the difference between scripted testing and exploratory testing with a simple and interesting example in his article. He says:

The difference between scripted testing and exploratory testing is as simple as describing
the game “20 Questions.” In this game, one person thinks of an object (an animal, vegetable, or mineral) and another person is allowed 20 yes or no questions to discern what the object might be. If the guesser can’t determine what the object is by the 20th question, they lose the game.

The important aspect of the game is that the guesser asks one question at a time, and an answer is given before the guesser decides what their next question will be.

This is exploratory testing in action. The game would not work if a scripted testing paradigm was used, where the guesser had to submit their 20 questions in advance and could not adapt their questions to each answer.

Unlike scripted testing, exploratory testing relies on this adaptation. Like the “20 Questions” guesser, the tester is free to design and execute their next test idea based on the results of the previous test. To test wisely, the tester can draw from anything in their cognition – experience, heuristics, biases, observations, conjectures, notions, and hunches, and on and on – but culling through all of that cognition, choosing that next test, playing that hunch and applying that experience – takes skill.
The outcome of an exploratory testing session is a set of notes about the product, failures found, and a concise record of how the product was tested. When practiced by trained testers, it yields consistently valuable and auditable results.

Benefits of Exploratory Testing:
  1. The main advantage of exploratory testing is that less preparation is needed to test and bugs are found faster.
  2. Exploratory testing helps tester to understand the functionality of the product thoroughly; hence covering the most important part of requirement understanding.
  3. Exploratory testing is especially useful in complex testing situations, when little is known about the product
  4. As in case of exploratory testing, we write and execute the test cases simultaneously. It helps in collecting result oriented test scripts and shading of load of unnecessary test cases which do not yield and result.