Friday, December 4, 2009

Software Testing - User Stories

Sponsored Ad

1st of the usual query that they hear most of the time is how user histories are different from use cases. User histories are much simple than use cases. User histories are very easy to generate, discuss & create. They also do not contain any technical details.

Typically lovely user histories are defined in the following format

User histories are one of the primary development artifacts for the XP project teams. A user history contains information so that development team can reasonably give estimate about completing, tester can talk about how it will validate & customer can see its value.

While discussing User histories, you should make sure that they are not very massive. A massive user history leaves the chances of ambiguity & absence of clarity in the mind of growth team. Ideally, you should be able to break user histories so that it can be done by six people in a week's time.

As a I would love to do so that

During consideration of histories of users, you must ensure that there are very large. A user story leaves great potential for ambiguity and lack of clarity in the minds of the development team. Ideally, you should be able to break user stories so that it can be done by two people in a week.

If you are working as a tester in an Agile project and see any history taking longer to complete, consider this as an opportunity to ask questions and see if this can be broken by the functionality or platform or otherwise.

Once a story breaks at the last level, this story is given some points based on how long it will take a couple of programmer to finish it. These user stories that are broken down into tasks and assigned to appropriate developers. Typically, the start of the project, establishing a set of user stories for each iteration or Sprint chooses stories based on the priority and time it would take to complete.

User histories are written in the paper such as cards or post-its. This also ensures that no unnecessary details on the User histories. Once the development team decides on the stories to be developed in a sprint, which is divided into tasks and resources are allocated accordingly.

Most times, these user stories are defined only in terms of acceptance. For example,

As a user should be able to register on the site in order to receive the newsletter is a good example of the user story. As a tester, should be your job to find out negative scenarios and assumptions in this story. For example, what should I provide information to users to register? Is there a distinction between optional and required information? Should we validate the email address of the user before registering? And many more.

Recall, one of the main reasons for the use of user histories is to have an invitation to conversation. According to Ron Jeffries, each user story in Windows XP has three components - Cards (Physical Environment), Conversation (discussion about them) and confirmation (tests that verify them.) One of the widely used acronym for good use cases is called INVEST. How user histories rights is essential to the success of any project fast and therefore INVEST this acronym is used to justify the investment you make in creating user stories.

According to this acronym

  • I for independent
  • N for negotiable
  • V for  value
  • E for Estimable
  • S for small and
  • T for verifiable

As a tester on agile projects is very important for you to make sure that all histories that is consistent with work on the characteristics defined by these terms. There are good reasons to do so.

Histories should be independent so that it is easier to plan. Consider the situation where the need to decide which stories to include in the sprint and most of the stories are dependent on each other.

Histories should be negotiable, user histories are not contract with the client are a platform for a clear understanding among totally involved. Anyone should be able to challenge its intention and its application.

User histories should be valuable to someone. You will have situation where in their histories do not provide direct value to his client, but should provide value to someone, could be a developer or tester. For example, as a tester should be able to access the application layer beneath the user interface so that automation is not dependent on the user interface. As We should oppose the application functionality with access to the user interface.

Histories should be estimable, remember we're not saying accurate estimate, but must be

Reasonable estimate. Since stories are negotiable, these estimates may change but should in principle be possible to reasonably estimate the amount of time it takes to complete histories.

Most of the characteristics described above to ensure that user stories are clear and small. This is very important; most of the times of great stories are inaccurate. It is also possible to keep the team moving, with little stories, since it gives a sense of accomplishment or finishing something. Normally, you should try to complete at least 2histories by Sprint (two programmers and a tester for two weeks).

From user stories are the requirement that drives the development should ensure that these stories are verifiable. You can find this for some features like ambiguity, clarity etc that may be used in the verification requirements in the traditional development model.

Remember, user stories are the focus of the agile methodology of software development and as a tester must ensure that their equipment investment of user stories.

Continue reading...

Smoke and Sanity Testing

Sponsored Ad

There are two types of evidence which by nature are of very short duration and are usually designed so that major problems are found much earlier in the cycle. These two types of test are:

1. Testing for sanity

2. Smoke Testing

It seems that the smoke test of the word comes from the industrial test equipment. The smoke testing procedure is considered a safety test by a curtain of smoke into parts of the sewerage and drainage to detect sources of unwanted leaks and sources of sewer odors.

Proving for sanity is a surface test, but is performed whenever a cursory analysis is sufficient to prove the coating works consorting to specifications. This level of analysis is a subset of regress testing. Normally includes a set of fundamental tests of basic GUI functionality to demonstrate connectivity to the database, application servers, printers, etc.

However, in the field of trial software smoke test is a very important element. I often look for the two words have been used interchangeably. I will focus on the aspect of smoke test in this article.

Smoke Testing is applicable when adding new components and are integrated with existing code. Ensures that the building is not broken. The product in its current state is smoke tested daily. Merely ensures that the building is not broken and is ready to test further. Once an engineer certifies the smoke test is successful, the test team can take action to test deeper.

Typical features of Smoke Testing:

  • It exercises the entire system end to end.
  • It is not exhaustive, but should be capable of exposing major problems.
  • It ensures that the core functionality is the accumulation of work and is stable enough for further testing thoroughly.

Smoke Testing Advantages:

  • Reduction of Risk of Integration: From smoke testing is carried out integration problems are discovered at a much earlier stage than later in the cycle.
  • Find big problems: A good test designed smoke can increase the probability of finding a big problem when software is built early in the cycle. So catch bugs earlier in the cycle.
  • You can save time and money - If a major problem is detected at the stage when the software is ready built, it can save time and enormous costs if the mistake was discovered at the end of the cycle.
Continue reading...

Website Updates