Wednesday 6 June 2012

Manual Testing Interview Question and Answer

Questions : 1 Do you know what the mean of CMM and TMM?
Answers : 1
Capability maturity model and testing maturity model 
Questions : 2 How many Effort Estimation methods available in market for Testing?
 Answers : 2
A Effort estimation consists in predict how many hours of work and how many workers are needed to develop a project. The effort invested in a software project is probably one of the most important and most analysed variables in recent years in the process of project management. The determination of the value of this variable when initiating software projects allows us to plan adequately any forthcoming activities. As far as estimation and prediction is concerned there is still a number of unsolved problems and errors. To obtain good results it is essential to take into consideration any previous projects. Estimating the effort with a high grade of reliability is a problem which has not yet been solved and even the project manager has to deal with it since the beginning.
Questions : 3 What are the different Methodologies in Agile Development Model?
Answers : 3
There are currently seven different Agile methodologies that I am aware of:
1) Extreme Programming (XP)
2) Scrum
3) Lean Software Development
4) Feature-Driven Development
5) Agile Unified Process
6) Crystal
7) Dynamic Systems Development Model (DSDM)

Questions : 4 How the 2 wings and body of the Butterfly Model of Test Development is Represented?
Answers : 4
The Butterfly Model focuses on verification and validation of software products and is therefore a good fit for software testing tasks that are incorporated into the V-model of software development. This model provides a graphic picture of the complexity of test tasks using the outline of a butterfly. The areas occupied by the wings and body are approximately related to the level of effort afforded to each of the activities included in the model. In addition to this the reference of the butterfly stems from Chaos theory which states that a small disturbance in part of a system can have huge consequences in some other part of the system. The development of a software system has certain similarities. Small modifications or errors in code may result in significant degradations in an application's performance. The model establishes three general areas of test activities that are illustrated by the butterfly's graphic outline. They are:
Test Analysis (butterfly’s left wing)
Test Design (right wing)
Test Execution (butterfly’s body)
.
Questions : 5 What does the mclabe cyclomatic complexity of a program determine?
Answers : 5
Cyclomatic complexity is likely the most widely used complexity metric in software engineering. It describes the complexity of a procedure by measuring the linearly independent paths through its source code. . 
Questions : 6 How do you obtain the expected results for testing a search operation?
Answers : 6
1) Corresponding Search Window should be opened & hold corresponding field names in that.
2) Search Operation should be shown correct result while valid data.
3) Search Operation should be shown warning message while enter invalid data.
4) Search Operation should be shown output for all the condition in valid inputs. 

Questions : 7 Describe to the basic elements you put in a defect report? Answers : 7
1)project name
2)module name
3)defect detected on
4)defect detected by
5)defect id
6)defect name
7)snapshort of the defect(if the defect is in the non reproducible environment)
8)priority,severity,status
9)defect resolved by
10)defect resolved on. 

Questions : 8 What is Impact analysis? As a tester how will you do impact analysis in your project?
Answers : 8
Suppose after completion of an application or module, if another module is to be added, then we need to test the new module as well as the impacted area which is affected by adding a new module.
Impact Analysis will be done to find the impact area of the application by adding a new module. Generally team lead will take the initiate for this.
Team lead will send a mail to client asking for the impact area (if developer is new to domain), also send a mail to development team and testing team asking for the impacted area. After getting the response of all three, team lead will do the consolidated report of all the mails. This consolidated mail will be given to the Test Engineer saying this is the Impact Analysis Report and these are the impact areas. 

 Questions : 9 What is the main Goal of Defect Prevention meeting?
Answers : 9
Closed defects can be reopened due to some of the following reason:
1)Fix given for some other issue may reopen closed defects.
2)Deployment not properly done at the time of fixing new defects.
3)Build issue.
And hence to prevent such defects to reopen, regression testing should be performed on the main flow, scenarios before each testing phase is completed.
And also if time permits quick sanity testing could be carried out to ensure that there is no impact to the application or system before moving on to the next testing phase. 

 Questions : 10 What are the factors affecting a manual testing project and what are the ways to overcome it?
Answers : 10
1. Go for Manual Testing in the following cases: Unstable Software. To explore New Software. No Automation suite available. Adhoc testing (unplanned test cases). Not critical project & only one time testing & the effort required is less than the effort required for automation.
2. Go for Automation in the following cases: Stable Software. Any application with a High degree of risk associated with the failure is a good candidate for test automation. (Aircrafts, Patient monitor,) Testing needs to be repeated.
3. Advantages of Automation: Accelerate releases (reduces regression effort) With repeatable tests ensure consistency across multiple supported platforms Greater Application Coverage. Can test more often & more completely Convenient test reports for analysis. 

 Questions : 11 How do you verify the test results and How do you proceed when you do not get the expected results?
Answers : 11
We need to check whether Expected Result coresponding to Test case mentioned in Test Case Document is same as Actual Result.If they are same then Test Case passes and if they are not same then we have to see what is different and why it different. After narrowing down we need to raise a defect and map that defect to a Test case. 
Questions : 12 In real time how you do the Soak Testing?
Answers : 12
Soak Testing: Running a system at high load for a prolonged period of time. For example, running several times more transactions in an entire day (or night) than would be expected in a busy day, to identify and performance problems that appear.
Questions : 13 What do you mean by Trend Analysis?
Answers : 13
In project management trend analysis is a mathematical technique that uses historical results to predict future outcome. This is achieved by tracking variances in cost and schedule performance. In this context it is a project management quality control tool. 
Questions : 14 How you will write test cases for integration testing? Explain me with an example ?
Answers : 14
Integration testing is actually composed of different types of tests, but its objective is to ensure that the interaction of two or more components produces results taht satisfy functional testing requirements. For Example: Let A and B be two components in which A calls B.    Let Ta be the component level tests of A    Let Tb be the component level tests of B    Tab The tests in A's suite that cause A to call B.    Tbsa The tests in B's suite for which it is possible to sensitize A            -- the inputs are to A, not B.    Tbsa + Tab == the integration test suite (+ = union). 
Questions : 15 What is the difference between interoperability and compatibility testing with some examples?
Answers : 15
Interoperatability:-To check if the software can co exist with other supporting softwares in the system

Compatibility:-To check if the software runs on different types of operating systems according to customer requirements. 

 Questions : 16 What is 'fish pond analysis' w.r.t software testing?
Answers : 16
This is one of the SDLC process generally we are following. Its like in fish model thats why it got the name like that. 
 Questions : 17 What does a manual tester need to become proficient with DB Testing?
Answers : 17
Need knowledge of SQL query 
Questions : 18 What is difference between Validation and Verification?
Answers : 18
Varification: it is the process of confirming that s/w "meets its specification".It involves reviews and meetings to evaluate documents,plans,code,requirement and specification.This can be done with checklist,issues lists amd walkthroughs.
It is the examination of the process and checks r we building the product right
Validation: It is the process of confirming that it "meets the user's requirements".Validation typically involves actual testing and take place after varification are 

Questions : 19 What is difference between Known regression Testing and Unknown Regression testing?
Answers : 19
Regression testing means it is the type of testing in which one will conduct testing on an already tested functionality again and again. Regression testing will be conducted in two situations.
1. If the test engineer find any defect on one functionality then after the rectification of that defect from the development department again testing on that defected functionality and retesting the related functionalities of that defected functionality.
2. If the new features are added to that application testing on that new feature functionality and also the related functionality of that new features to be tested. 

Questions : 20 What is Quality Matrix in Software Testing?
Answers : 20
By word quality we may be more generalized towards our target. but being a quality contious a "quality matix" should have; 1. logical parameterization of our parameters i.e. first we should confirm that is parameter "a" has logical connection with parameter "b"
2. Matrix should be result oriented. we can extract/deduce some logical results from each matrix
3. Every matrix should be complete in its domain it should not further dependant on other parameters other than selected
4. Every matrix should work in boundries of your requirements 

Questions : 21 Which testing method is used to check the software in abnormal condition?
Answers : 21
Which testing method is used to check the software in abnormal condition?
1) Stress testing
2) Security testing
3) Recovery testing
4) Beta testing


Q. What is difference between Performance Testing, Load Testing and Stress Testing?
1) Performance Testing:
Performance testing is the testing, which is performed, to ascertain how the components of a system are performing, given a particular situation. Resource usage, scalability and reliability of the product are also validated under this testing. This testing is the subset of performance engineering, which is focused on addressing performance issues in the design and architecture of software product.
Performance Testing Goal:
The primary goal of performance testing includes establishing the benchmark behaviour of the system. There are a number of industry-defined benchmarks, which should be met during performance testing.
Performance testing does not aim to find defects in the application, it address a little more critical task of testing the benchmark and standard set for the application. Accuracy and close monitoring of the performance and results of the test is the primary characteristic of performance testing.
Example:
For instance, you can test the application network performance on Connection Speed vs. Latency chart. Latency is the time difference between the data to reach from source to destination. Thus, a 70kb page would take not more than 15 seconds to load for a worst connection of 28.8kbps modem (latency=1000 milliseconds), while the page of same size would appear within 5 seconds, for the average connection of 256kbps DSL (latency=100 milliseconds). 1.5mbps T1 connection (latency=50 milliseconds) would have the performance benchmark set within 1 second to achieve this target.
For example, the time difference between the generation of request and acknowledgement of response should be in the range of x ms (milliseconds) and y ms, where x and y are standard digits. A successful performance testing should project most of the performance issues, which could be related to database, network, software, hardware etc…
2) Load Testing:
Load testing is meant to test the system by constantly and steadily increasing the load on the system till the time it reaches the threshold limit. It is the simplest form of testing which employs the use of automation tools such as LoadRunner or any other good tools, which are available. Load testing is also famous by the names like volume testing and endurance testing.
The sole purpose of load testing is to assign the system the largest job it could possible handle to test the endurance and monitoring the results. An interesting fact is that sometimes the system is fed with empty task to determine the behaviour of system in zero-load situation.
Load Testing Goal:
The goals of load testing are to expose the defects in application related to buffer overflow, memory leaks and mismanagement of memory. Another target of load testing is to determine the upper limit of all the components of application like database, hardware and network etc… so that it could manage the anticipated load in future. The issues that would eventually come out as the result of load testing may include load balancing problems, bandwidth issues, capacity of the existing system etc…
Example:
For example, to check the email functionality of an application, it could be flooded with 1000 users at a time. Now, 1000 users can fire the email transactions (read, send, delete, forward, reply) in many different ways. If we take one transaction per user per hour, then it would be 1000 transactions per hour. By simulating 10 transactions/user, we could load test the email server by occupying it with 10000 transactions/hour.

3) Stress testing
Under stress testing, various activities to overload the existing resources with excess jobs are carried out in an attempt to break the system down. Negative testing, which includes removal of the components from the system is also done as a part of stress testing. Also known as fatigue testing, this testing should capture the stability of the application by testing it beyond its bandwidth capacity.
The purpose behind stress testing is to ascertain the failure of system and to monitor how the system recovers back gracefully. The challenge here is to set up a controlled environment before launching the test so that you could precisely capture the behaviour of system repeatedly, under the most unpredictable scenarios.
Stress Testing Goal:
The goal of the stress testing is to analyse post-crash reports to define the behaviour of application after failure. The biggest issue is to ensure that the system does not compromise with the security of sensitive data after the failure. In a successful stress testing, the system will come back to normality along with all its components, after even the most terrible break down.
Example:
As an example, a word processor like Writer1.1.0 by OpenOffice.org is utilized in development of letters, presentations, spread sheets etc… Purpose of our stress testing is to load it with the excess of characters.
To do this, we will repeatedly paste a line of data, till it reaches its threshold limit of handling large volume of text. As soon as the character size reaches 65,535 characters, it would simply refuse to accept more data. The result of stress testing on Writer 1.1.0 produces the result that, it does not crash under the stress and that it handle the situation gracefully, which make sure that application is working correctly even under rigorous stress conditions.


No comments:

Post a Comment