Note: We have mentioned "IMP" with all the most important questions which are usually asked in interviews.
Question 1: What is Quality? (IMP)
The standard of something as measured against other things of a similar kind or the degree of excellence of something.
Question 2: What is Quality
Assurance? (IMP)
QA
refers to the planned and systematic way of monitoring the Quality of
process which is followed to produce a quality of the product. (QA
tracks the outcomes and adjusts the process to meet the expectations.)
Question 3: What is Quality Control? (IMP)
QC
Concern with the Quality of the product. QC finds the defects and
suggests improvements. The process set by QA is implemented by QC.
Question 4: What is Software Testing?
Question 4: What is Software Testing?
Question 5:
What is the difference between Bug and Defect? (IMP)
Question 6:
What is the difference between the test case and test scenario? (IMP)
One
Scenario can have multiple test cases like to test a login button is
one scenario and there would be multiple test cases to test this
scenario.
Question 7:
What is the difference between the verification and the validation? (IMP)
Verification
is done at the start of the development process. It includes reviews,
meetings to evaluate requirement and specifications. It answers the
question like: Am I building the product, right?
Validation is done at the end of the development process and takes place after verification is done. It answers the question like: Am I building the right product?
A product can pass while verification, as it is done on the paper and no running or functional application is required. But when the same points which were verified on the paper are actually developed then the running application or product can fail while validation. During verification, if some defects are missed the during validation it can be caught.
Validation is done at the end of the development process and takes place after verification is done. It answers the question like: Am I building the right product?
A product can pass while verification, as it is done on the paper and no running or functional application is required. But when the same points which were verified on the paper are actually developed then the running application or product can fail while validation. During verification, if some defects are missed the during validation it can be caught.
Question 8: What is Static Testing?
In static testing, we can test and find defects without executing code.
Static Testing is done during the verification process for example:
reviewing, walk-through, inspection, etc. Static testing is the testing of the software work products manually, or with a
set of tools, but they are not executed.
Question 9: What is Dynamic Testing?
In dynamic testing, the software code is executed to
demonstrate the result of running tests. It’s done during the validation process.
For example Smoke testing, Sanity testing, Functional testing etc.
Question 8: What is Static Testing?
Question 10: What is a Defect or Bug life cycle? (IMP)
The defect life cycle is a cycle in which a defect
goes through during its lifetime. It starts when a defect is found and ends when
a defect is closed, after ensuring it’s not reproduced. The defect life cycle is related to the bug found during testing.
- New: When the defect is logged and posted for the first time. Its state is given as new.
- Assigned: After the tester has posted the bug, the lead of the tester approves that the bug is genuine and he assigns the bug to the corresponding developer and the developer team. Its state is given as assigned.
- Open: At this state the developer has started analyzing and working on the defect fix.
- Fixed: When developer makes necessary code changes and verifies the changes then he/she can make bug status as ‘Fixed’ and the bug is passed to the testing team.
- Retest: At this stage, the tester does the retesting of the changed code which the developer has given to him to check whether the defect got fixed or not.
- Verified: The tester tests the bug again after it got fixed by the developer. If the bug is not present in the software, he approves that the bug is fixed and changes the status to “verified”.
- Reopen: If the bug still exists even after the bug is fixed by the developer, the tester changes the status to “reopened”. The bug goes through the life cycle once again.
- Closed: Once the bug is fixed, it is tested by the tester. If the tester feels that the bug no longer exists in the software, he changes the status of the bug to “closed”. This state means that the bug is fixed, tested and approved.
- Duplicate: If the bug is repeated twice or the two bugs mention the same concept of the bug, then one bug status is changed to “duplicate “.
- Rejected: If the developer feels that the bug is not genuine, he rejects the bug. Then the state of the bug is changed to “rejected”.
- Deferred: The bug, changed to deferred state means the bug is expected to be fixed in next releases. The reasons for changing the bug to this state have many factors. Some of them are priority of the bug may be low, lack of time for the release or the bug may not have a major effect on the software.
- Not a bug: The state is given as “Not a bug” if there is no change in the functionality of the application. For an example: If the customer asks for some change in the look and field of the application like a change of colour of some text then it is not a bug but just some change in the looks of the application.
Question 11:
What is the difference between severity and priority? (IMP)
Severity:
It is the extent to which the Defect can affect the software. It
defines the impact of a defect on the software. For example, if an
application or web page crashes when a remote link is clicked, in this
case clicking on the remote link by a user is rare but the impact is
great. So the severity is high but priority is low.Priority: It defines the order in which we should resolve the bug. Should we fix it now or can it wait? This priority status is set by the tester to the developer mentioning the time frame to fix the defect. If high priority is mentioned then the developer has to fix it at the earliest. The priority status is set based on the customer requirements. For example: If the company name is misspelt in the home page of the website, then the priority is high and severity is low to fix it.
High Priority & High Severity: An error which occurs on the basic functionality of the
application and will not allow the user to use the system (E.g. user is not
able to login to the application).
Question 12: What is Test strategy?
It is a high-level document which defines the approach for software testing. It is basically derived from the Business Requirement document. Test strategy is developed by the project manager or business analyst. It is kind of static document which sets the standards for testing so not updated often.
Test strategy contains:
- Scope and objective: The objective of the business and how much testing scope is there is defined under test strategy.
- Business Issues: How much is the budget of the project, how much time is required for testing, how much resources are needed etc. are the part of business issues which needs to be considered before the actual testing starts.
- Testing approach: What type of testing is needed (performance, load, stress, functional etc.) and whether the testing is only manual or automation or both are some of the crucial points which defines the testing approach.
Question 13: What is Test Plan?
It is derived from SRS (Software Requirement Specification) which is
prepared by test lead or manager. The main goal of the test plan is to include all
the details related to testing such as what to test when to test, how to test
and who will be the tester. A test plan is often not updated but if there is some
new feature or change is introduced then it has to be updated accordingly.
Test plan contains:
- Testing
cycle start/end dates
- Major
roles and responsibilities/overall resources
- Testing
environment
- Major
risks and how to handle these risks
- Defect
reporting
- Testing
end date
Question 14: What is a
Test Environment?
A testing environment is a setup of software and hardware
for the testing teams to execute test cases. In other words, it supports test
execution with hardware, software and network configured.
Every test may not be executed on the local machine. It
may need establishing a test server, which can support applications.
Key areas to set up in Test Environment:
Key areas to set up in Test Environment:
For the test environment, a key area to set up includes
- System and applications
- Test data
- Database server
- Frontend running environment
- Client operating system
- Browser
- Hardware includes Server Operating system
Question 15: What are the Software Development Models?
The software
development models are the various Approaches that are being selected for the development of the
project depending on the project’s aims
and goals.
There are various Software development models or
methodologies. They are as follows:
- Waterfall model
- Agile Model
- V model
- Incremental model
- RAD model
- Iterative model
- Spiral model
- Prototype model
Different
companies based on the software
application or product; they select the type of development model
whichever suits to their application. But these days in the market the Agile Methodology is the most used
model.
Waterfall Model is a very old model. Waterfall model works well for smaller
projects where requirements are very well understood.
In ‘Waterfall Model’ testing starts only after the development is completed. Because of which there are many defects and failures which are reported at the end. So, the cost of fixing these issues is high. Hence, these days people are preferring ‘Agile Model’.
In ‘Waterfall Model’ testing starts only after the development is completed. Because of which there are many defects and failures which are reported at the end. So, the cost of fixing these issues is high. Hence, these days people are preferring ‘Agile Model’.
In ‘Agile
Model’ after every sprint there is a demo-able feature to the customer. Hence the customer can see the features whether
they are satisfying their need or not.
Each release is thoroughly tested to ensure software quality is maintained.
Each release is thoroughly tested to ensure software quality is maintained.
Question 16: Define
Scrum?
Scrum
is an agile way to manage a project, usually, software development, think of it as a framework for managing a
process.
The Scrum Team consists of a Product Owner, the Development Team (Dev & QA), and a Scrum Master (Project Manager).
Question: What is the Traceability Matrix?
It
is a document that maps and traces user requirement with test cases. The main
purpose of Requirement Traceability Matrix is to see that all test cases are
covered so that no functionality should miss while doing Software testing.
Question 17: What is the
difference between build and release? (IMP)
Question 18:
Explain SDLC? (IMP)
SDLC stands
for software development lifecycle. SDLC is
a series of steps that provide a model
for the development and lifecycle management of an application or piece
of software.
There
are following phases in every Software development life cycle model:
- Requirement gathering and analysis
- Design
- Implementation or coding
- Testing
- Deployment/Release
- Maintenance
Requirements Gathering and Analysis:
This
is a process with much communication taking place between stakeholders,
end-users and the project team. Meetings with managers, stakeholders and
users are held in order to determine the requirements like; who is going
to use the system? How will they use the system? What data should be input into the system? What data
should be output by the system? These are general questions that get
answered during a requirement gathering phase.
Design:
In this phase, the software design is prepared from the requirement
specifications which were studied in the first phase. System Design helps in specifying hardware and system requirements and also helps in defining overall system architecture.
In this phase, the QA Engineers comes up with the Test strategy, where they mention what to test, how to test.
specifications which were studied in the first phase. System Design helps in specifying hardware and system requirements and also helps in defining overall system architecture.
In this phase, the QA Engineers comes up with the Test strategy, where they mention what to test, how to test.
Implementation
/ Coding:
Upon receiving system design documents, the
work is divided in modules/units and actual coding is started. Since in this
phase, the code is produced so it is the main focus for the developer. This is the longest phase of SDLC. In this phase, the QA Engineers comes
up with the Test Environment setup and test Case Documentation.
Testing:
After
the code is developed it is tested against the requirements to make sure that
the product is actually solving the needs addressed and gathered during the
requirements phase. During this phase all types of like unit testing, integration testing,
Smoke Testing, functional testing, Sanity
Testing, system testing, acceptance testing are done as well as non-functional testing is also done.
Deployment:
After
successful testing the product is delivered/deployed to the customer for
their use.
As soon as the product is given to the customers they will first do the beta testing/User Acceptance Testing. If any changes are required or if any bugs are caught, then they will report it to the engineering team. Once those changes are made or the bugs are fixed then the final deployment will happen.
As soon as the product is given to the customers they will first do the beta testing/User Acceptance Testing. If any changes are required or if any bugs are caught, then they will report it to the engineering team. Once those changes are made or the bugs are fixed then the final deployment will happen.
Question 19: What is Software Testing Life Cycle (STLC): (IMP)
It is the testing process which is executed in a systematic and planned manner. In the STLC process, different activities are carried out to improve the quality of the product.
Following steps are involved in Software Testing Life Cycle (STLC).
- Requirement Analysis
- Test Planning (Test Strategy, Test Plan)
- Test Case Development (Writing Test Cases)
- Environment Setup
- Test Execution
- Defect Reporting
Bug release is when
software or an application is handed over to the customer/client knowing that the defect is present in a release. Bug
leakage is something,
when the bug is discovered
by the end users or customer, and not detected by the testing team while
testing the software.
0 Comments