Sunday 13 October 2013

Software testing interview questions for 1/2/3 years of experience

 Welcome  - On this page, you will find all advanced software testing interview questions for experienced candidates (1/2/3/4 years).

All the questions listed below are frequently asked in software companies like TCS, Cognizant, Infosys, HCL, IBM, Wipro, Syntel, Capgemini, Amdocs.
 

1. What is fault masking?
Fault masking means presence of one defect will hide the presence of another defect in the system.

2. What is exploratory testing?
Exploratory testing is a type of experience based testing.In exploratory testing, we test the software starting with basic functionalities and then
using the information about the system, we try to test more functions of the system. In short we explore the system as we move ahead with the testing.

3. How do we prepare test plan?
IEEE 829 specifies what attributes are there in test plan.

4. What are the different stakeholders in testing process?
Every testing project has below stakeholders.
Developers
Testers
End Users
System Owners
QA and Development Managers

5. What is configuration management wrt software testing?
Configuration management is used to manage the changes done to the test artifacts.
Every testartifact is stored in the configuration management software like SVN.  We can access all the versions of the same document.
We can also track who made what changes in which document and when.

6. What are different software testing metrics?
Software testing has below metrics.
Code Coverage
Cyclomatic Complexity
etc.


7. How to do test estimations?
Test estimations are carried out to give better picture of how much human effort will require to test the software and the cost of the project.
Based upon the scope of the testing project, we estimate the effort required to test the system.

8. What is orthogonal testing? Explain with example.
Orthogonal testing is used to test the application with only few test input values from given set of inputs.
Exhaustive testing with all permutation and combinations of input values is not possible. So orthogonal testing helps us to reduce the test input domain values.

9. What is error / mistake?
Error is a human action that produces incorrect result.

10. What is defect(bug/fault)?
A flaw in the system that can cause the system to fail to perform its required function.
If the code containing defect is executed, software failure occurs.
Cost of finding and fixing the defect increases over time so you must try to find out the defects as early as possible in SDLC.

11. What is exhaustive testing?
It is a type of testing in which we try to test the software with all possible input values and preconditions.

12. What are different software testing pronciples?

There are few testing principles that every tester must know as mentioned below.
Testing shows that there are defects but it does not prove that there are no defect. This means that even after we test the software, we can have defects still present in the system
Exhaustive testing is not possible. Many systems are very complex. So testing such systems with all possible input values is not possible.
Testing should be started as early as possible because the cost of finding and fixing the defect increases over time.
Small number of modules contain most of the defects in the system. So we must focus on those error prone modules while testing the system
Pesticide paradox - If same tests are run again and again, they will no longer find any defects in the system. So you must always try to change the test cases, input values so that you will be able to find new uncovered defects.
Software testing is context dependant. Every system should be tested in different way as Some systems are life critical while some are very simple systems. So the objectives and priorities of the testing are different for every system.
Absence of error fallacy : - If there are no errors in the system, it does not mean that system is good  if end user is not able to use the system easily and it meets its requirements.

13. What is COTS?
COTS stands for the commercial off the shelf software. This kind of software is developed for large number of customers is delivered to many customers across the world.
For example - chrome browser.

14. What are the different software testing models?
WaterFall Model.
Increamental Development Model - RAD, RUP, Agile (extreme programing)
V-Model

15. What are software testing levels?

1. Unit testing              - done by developers
2.Component Testing    - done by developers
2. Integration testing     - stubs, drivers
3. System testing         - functional , non-functional
4. User Acceptance testing - Alpha and Beta testing

16. What are software testing methods?
There are 2 methods of software testing.

1. Static - review, walkthrough, inspection, data flow, control flow
2. Dynamic testing - white box(structure based/glass box), black box (Specification based), expereince based

Below is the list of white box testing methods.
1. Statement coverage
2. Decision Coverage
3. Condition Coverage

Below is the list of black box testing methods.
1. Equivalance partitioning
2. Boundry Value Analysis
3. Decision Tables
4. State Transition Diagrams
5. Use Case Testing  - ATM Example.

Below is the list of experience based methods.
1. Error Guessing
2. Exploratory Testing


17. Explain below IEEE 829 specifications - Test design, Test case, Test Plan, Test log, Incident Report , Defect Report , Test summary report.
IEEE 829 is a standard for creating test artifacts. Each test document has specific attributes.
For example - Test Plan has below parameters/attributes.


  • Test Plan Identifier
  • Introduction
  • Test Items
  • Features to Test
  • Features not to Test
  • Approach
  • Item pass/fail criteria
  • Suspension/Resumption Criteria
  • Test Deliverables
  • Test Tasks
  • Environment Needs
  • Responsibilities
  • Staffing and training needs
  • Schedule
  • Risks
  • Approvals


18. What is probe effect?
Effect on the system when it is being measured.

19. What are different tools that can be used in testing process?
We can use software tools in almost every phase of software testing lifecycle. Quality center is the one which is very useful.
We can have requirements management tool that helps in recording of requirements and requirements traceability.
Defect management tool is used to record and track incidents and defects.
Configuration management tools are used to control the changes in  test artifacts.
Review tools helpus in test review process of documents, codes.
Test execution tools (QTP, Selenium) are used to record  and playback the automated operation in application.
Dynamic analysis tools are used to get the runtime information of the state of the software code which can be used to identify the
unassigned pointers, memory allocation, memory leaks.
Performance testing tools (LoadRunner, Jmeter) are used to measure how the system behaves when there are more users actively using the system or there is large volume of data.
Load testing - More users, More transactions
Volume testing - Large volume of data
Stress Testing - testing the system beyond its specified hardware/software requirements.
Debugging tools(Microsoft debugger) are used to find and remove the cause of the failure in the system.

20. Explain different software testing metrics like defect density, cyclomatic complexity, code coverage, statement coverage, decision coverage etc.

code coverage = no of coverage items exercised/total number of coverage items * 100
code coverage finds out which part of the code has been executed by the test suite.
Statement coverage = no of statements exercised/ total number of statements * 100
Decision coverage = no of decision outcomes exercised / total number of decision outcomes * 100
Cyclomatic complexity = no of branches in the code + 1

21. Explain defect/incident lifecycle.
Whenever new incident occurs in the system, we create a new incident to track it.
Each incident follows typical lifecycle.
When it is confirmed that defect is a valid then we assign it to the developer and it's status becomes assigned.
Then developer will fix the issue and status of the incident will be marked as fixed.
Then again testers will retest the system to verify that the defect is really removed from the system.
If defect is removed from the system, status of that defect/incident is marked as closed otherwise status of the defect becomes reopened.


22. What is test condition?
Test condition is an item in the system that could be verified by one or more test cases.

23. What is test case?
A set of input values, execution preconditions, expected results, execution postcondition is called as a test case.

24. What is test Oracle?
Test oracle is a source to determine the expected results to compare with actual result.

You can visit QTP Master page to learn QTP.
Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts.

No comments:

Post a Comment

Please Leave your reply. We value your feedback and inputs

Best QTP Books

Everything About QTP

Hello Friends,
You can find QTP study material, Multiple choice questions (mcq), QTP question bank, QTP question papers, QTP notes, QTP questionnaire, scenario based QTP interview questions, QTP tutorial and QTP training on this site.

If you are a fresher or experienced QTP professional with (1/2/3/4) years of experience, this blog is just for you.