Thursday, March 13, 2008

FAQ - Manual ( 01 to 10 )

  1. How do u start testing a module

First once the module is given, the modules flow has to be first understood, for that we need to thoroughly go through the module by entering the values and understanding the module.

Secondly once the flow of the module is understood, we need to create an test frame work.

Then we will design the test cases and then we will start executing the test cases.

  1. Difference between severity and priority?

The word "priority" is associated with scheduling, and the word "severity" is associated with standards. "Priority" means something is afforded or deserves prior attention; a precedence established by urgency or order of or importance.

Severity is the state or quality of being severe; severe implies adherence to rigorous standards or high principles and often suggests harshness; severe is marked by or requires strict adherence to rigorous standards or high principles. For example, a severe code of behavior.

  1. What is a bug life cycle??

* UNCONFIRMED - This bug has recently been added to the database. Nobody has validated that this bug is true. Users who have the "can confirm" permission set may confirm this bug, changing its state to NEW. Or, it may be directly resolved and marked RESOLVED.

* NEW - This bug has recently been added to the assignee's list of bugs and must be processed. Bugs in this state may be accepted, and become ASSIGNED, passed on to someone else, and remain NEW, or resolved and marked RESOLVED.

* ASSIGNED - This bug is not yet resolved, but is assigned to the proper person. From here bugs can be given to another person and become NEW, or resolved and become RESOLVED.

* NEEDINFO - More information from the reporter is needed to proceed further in fixing this bug.

* REOPENED - This bug was once resolved, but the resolution was deemed incorrect. For example, a WORKSFORME bug is REOPENED when more information shows up and the bug is now reproducible. From here bugs are either marked ASSIGNED or RESOLVED.

* RESOLVED - A resolution has been taken, and it is awaiting verification by QA. From here bugs are either re-opened and become REOPENED, are marked VERIFIED, or are closed for good and marked CLOSED.

* VERIFIED - QA has looked at the bug and the resolution and agrees that the appropriate resolution has been taken. Bugs remain in this state until the product they were reported against actually ships, at which point they become CLOSED.

* CLOSED - The bug is considered dead, the resolution is correct. Any zombie bugs who choose to walk the earth again must do so by becoming REOPENED.

  1. Difference between Critical and show stopper severity bug?

Critical Bug is a defect in any functionality; still the system can be preceded with other functionalities whereas if there is a show stopper bug, the system cannot be preceded from that point.

5. Stages of a bug?

1) Open stage : A defect originated by a tester
2) Assign : Raised defect assigned to Developer
3) Resolved stage : Developer provides code fix for the bug and make it resolved

4) Closed stage : Tester re-tests the bug and closes it, if it’s working. Otherwise he will re-open the defect and it will go back to stage 1.

  1. Difference between web server and client server?

Web server - A computer that delivers (serves up) Web pages. Every Web server has an IP address and possibly a domain name

Client server - A network architecture in which each computer or process on the network is either a client or a server. Servers are powerful computers or processes dedicated to managing disk drives (file servers), printers (print servers), or network traffic (network servers). Clients are PCs or workstations on which users run applications. Clients rely on servers for resources, such as files, devices, and even processing power.

  1. Difference between SRS and Use cases?

SRS – Software Requirement Specification. It acts as a bible for the requirements of the whole system.

Use Cases is the pictorial representation of the whole functionality of the system.

8. Difference between Load Testing and performance testing.

The Performance testing is something where we find the response time of the application, Look out the Bottlenecks & Tune it.

A Load testing is done once if the functional and Performance testing is up and done to check the minimum and maximum load the Application can handle.

9. What is the role of tester in a Company ?

* Design Test cases.

* Execute Test cases.

* Bug or Defect Tracking.

* Test Report.

* Co-ordination to Prepare Test Plan (Optional).

10. What might be the reasons for changing the status of a bug to "NOT A BUG“

The bug might be occurred due to some errors in the test cases or due to some errors that occurred during the execution of test cases. These can be the reasons for changing the status of a bug to not a bug.


Anonymous said...

What might (u need to add 'be' here) the reasons for changing the status of a bug to "NOT A BUG“
The answer for this Question, is ok(what u have given)
what about this question
If developer do not accepts a bug; then what to do?

I hope I will get the answer from u ASAP.

Zakir Hussain said...


Thanks for bringing this to my notice. Well, the answer to your question (i.e. If developer do not accept a bug then what to do? )has been given below.

It’s quite a common dispute which happens between a tester and a developer. The main reason why the developer does not accept it as a bug is, it might not be reproducible in his end. The Tester has to analyze the root cause of why it doesn’t reproduce on the developer’s end. The reason may be due to the difference in Environment at Testing and at the Development end like Browser Versions, Operating System Service Pack, Windows Policies, Client-Server Configuration, Test Data, Different Build Numbers, network topology, environment on db servers, local server status etc. And in this case the tester needs to furnish the complete details on posting a bug. The Tester need to write the step by step action which he/she is following for testing with exact description of environment of Client & Server machine on which he/she is working. Apart from this he/she need to even send the Test Data, means the data which he/she is using to test the application and also should enclose the screen shots.
The tester can even bring the developer (If the developer is in the same location) to his/her testing place and reproduce the issue so that they can debug further. Else, the tester can share the machine details for the developer to have a remote connectivity for the bug to reproduce. The above way will help the tester to prove the existence of bug and accepting it too.

Anonymous said...

Hi zakir,
I would like to know,

what should be relationship between a developer and a tester?

Zakir Hussain said...

Relationship between a tester and a developer
I've replied the same question in another forum. Well,It’s almost everywhere that developers take the tester the troublemakers and vice-verse due to which there is a bitterness at some point in the game between these two roles.

Naturally, developing something will have bugs. It will depend on the severity, type, and scope of the bug-fix to decide to work or leave out at the moment. At this point in time, situations can get nasty at the debates between these two roles. Of course tester will try to point out bugs after bugs in the test phase. After all its their responsibility.

While the bugs are there to fix, developers get frustrated at the count and even at the person as well. The understanding level between these two roles conflict not only in one place but in many areas. While the developers ensure that there are no bugs out of what they develop, the testers ensure that if there are bugs, those should be given, handled at the correct time and scope.

A testers job is to crack down the product as soon as he/she gets. However a QA helps from the beginning to help the developer dudes to advise, point out areas where it’s error-prone. Thus resolving into less amount of bugs. Not only this helps in resolving issues with developers, considering the cost in business perspective is much less and customer is much less edgy than before.

So my point is, the relationship between a tester and a developer should be more friendly and most importantly co-coordinately and should focus on delivering the quality keeping aside the ego factor. Because as a team and together finding defects and fixing beforehand is always highly appreciated. Not only that, sitting together in a discussion of design, solutions, brings the developer to be aware of the different issues and areas to improve quality; thus taking the quality mind-set a step further.

When you are a tester finding the defects, it’s always good to share some tactics with the developers on how you test. Maybe this will help the developers to test better before delivering the product. But all of this works if everyone is cooperative enough to look in the actual target - to deliver with quality.

shabeena said...

Can you tell me the difference between
a) Product Testing and Project Testing?(explain with example)
b) Testing and Debugging?(Pls exaplain me Debugging)

Zakir Hussain said...

Hello Shabeena,

a) Difference between Product testing and Project testing


Project is based on client requirements.
Product is based on market requirements.

The difference between project and product in software testing is the same type of difference which exists in any other project and product.
Project and product testing is done at different times; however, the intent of testing is the same. A project has its purpose to create a product. A product is the result of project. In reality a project is basically a plan for the design, architecture and development of software. Testing is part of a project and for those projects aimed at the creation of good software testing begins when the project begins and continues through the duration of the project. Projects are determined by the need or needs of others to possess a product, which will maximize the uses, for which it is intended.
Project managers and teams come together to design, and develop software. They ask questions and determine the answer through the use of applications, computer
Language, codes, etc. The act of designing, building and developing software is called a project. The end result of the project is the product, in this case software. The quality of the software continues to be tested, even after it is on the market and being used by those for whom it was intended.

The purpose of software testing beginning with the initiation of a project to build software is to produce a good product, which is the goal of a project. Testing begins and ends with good software, software that keeps it's promise over a long duration. In users terms good software works and makes the users work easier. Good projects lead to good products and consistent testing is the key to good products.

For example, Product based companies like Telecommunication build their own product in tact with the market requirement and release for the sales targeting the customers. They in fact carry out a project to get the product done in accordance to quality and Industry standard and obviously the resultant is the product. This goes with Product testing. And when it comes to Project testing, companies like TCS, WIPRO etc who basically develop and do testing for their clients who may also be the Telecommunication companies as I mentioned above and get the requirements on what needs to be build and what needs to be tested and carry out operation to meet out the result. The resultant is the software which in turn is called a Product. This goes with the Project testing.

Hope this is clear.

b) Testing and Debugging?

Ans :-
Debugging :-

Debugging is basically done on the coding part. The purpose of debugging is to locate and fix the offending code responsible for a symptom violating a known specification. Debugging typically happens during three activities in software development, and the level of granularity of the analysis required for locating the defect differs in these three. The first is during the coding process, when the programmer translates the design into an executable code. During this process the errors made by the programmer in writing the code can lead to defects that need to be quickly detected and fixed before the code goes to the next stages of development. Most often, the developer also performs unit testing to expose any defects at the module or component level. The second place for debugging is during the later stages of testing, involving multiple components or a complete system, when unexpected behavior such as wrong return codes or abnormal program termination (“abends”) may be found. A certain amount of debugging of the test execution is necessary to conclude that the program under test is the cause of the unexpected behavior and not the result of a bad test case due to incorrect specification, inappropriate data, or changes in functional specification between different versions of the system. Once the defect is confirmed, debugging of the program follows and the misbehaving component and the required fix are determined. The third place for debugging is in production or deployment, when the software under test faces real operational conditions. Some undesirable aspects of software behavior, such as inadequate performance under a severe workload or unsatisfactory recovery from a failure, get exposed at this stage and the offending code needs to be found and fixed before large-scale deployment. This process may also be called “problem determination,” due to the enlarged scope of the analysis required before the defect can be localized.

Hope this clears you