Monday, March 22, 2010

What is the purpose of good test case?


Test cases are the bread and butter of software testers. Test cases created either manually or automated, has many objectives. Writing a effective test cases is arts which are acquired by skills and experiences. The topic for the effective test cases will depends on the types of project you are handling and the depth of functional requirement to be captured. 
See full size image

Writing a kind of test cases falls in to many categories. Each categories provides respective values to the organization in many different ways.  In order for the test case to provide better values for an organization, it should be essentially functional to reduce risks and address the testing efforts and also it should provide some measurable values to the organization.

There are various categories for writing an effective test cases. Following are some of the categories, most of the test cases would fall under:
  • To verify the expected results versus actual results during testing cycle.
  • To verify if the application under test is in conformance with the standards and guidelines as requested by the stakeholders.
  • To increase the functional test matrix coverage.
  • To increase the data flow coverage.
  • To increase the logical flow coverage.
  • To verify and execute end user scenarios.
  • To report any errors or defects to developers before it impacts the end users.

Friday, March 12, 2010

Have you heard about Monkey Testing?

Monkey Testing, interesting terminology, but valuable testing in software industry.
Monkey Testing is nothing but random testing of software application or system on the fly, with out the working knowledge of the application. The goal of the monkey testing is to identify any show stoppers or criticals in the software application under test.

Monkey testings are best performed by the automated testing tools. These automated testing tools will be called as 'monkeys' if they work randomly identifying crash or break in the software code.

Monkey testings are inexpensive to perform some basic random testing which will result in finding very few bugs, where as it could be very expensive for load or performance testing, which can result in number of bugs.

Monkey testing can be valuable for software application to identify rather embarrassing show stoppers, but this should not be only testing performed.

Thursday, March 4, 2010

What can testers do if the application has a functionality that wasn't in the requirement?

I believe, if the application under test has functionalities that was not described in requirement documents, it  indicates deeper problems in software development process. All testers agree that it takes tremendous efforts  to determine the unexpected behaviors of an application under test. It will take serious efforts by testers to identify any hidden functionalities which will result in losing precious time and resources.

As per my experience, if the functionality isn't necessary for the purpose of the application, it should be removed, as it may have unknown impacts or dependencies on the application which were not taken in to consideration by the stakeholders.

If alien functionality (as I call because it was not described in requirement documents) is not removed for what ever reasons it might be, it should be documented in the test plan to determine the added testing needs, resources and additional regression testing needs. Stakeholders and managements should be made aware of any significant risks that might arise as a result of this alien functionality.

On the other hand, if this alien functionality has to be included for minor improvements in the user interface and  its effects on the overall applications functionality ranges from trivial to minor and does not pose a significant risks, it may be accommodated  in the testing cycle with or with out minor changes in the test plan.

Search in this page

References: Some of the contents may have reference to various sources available on the web.
Logos, images and trademarks are the properties of their respective organizations.