Professional Documents
Culture Documents
1. What is an SDLC
2.What is an STLC
● Inspections
● Reviews
● Walk-throughs
● Demos
Validation is a means to confirm that the developed product doesn’t have any bugs and is working as
expected. It comprises the following activities:
● Functional testing
● Non-functional testing
4.What is static testing? When does it start and what does it cover?
Static testing is a white-box testing technique that directs developers to verify their code with the help
of a checklist to find errors in it. Developers can start the static testing without actually finalizing the
application or program. Static testing is more cost-effective than dynamic testing as it conceals more
areas than dynamic testing in a shorter time.
5.Define Black-box testing.
It is a standard software testing approach that requires testers to assess the functionality of the
software as per the business requirements. The software is treated as a black box and validated as per
the end user’s point of view.
6.What is a test plan and what does it include?
A test plan stores all possible testing activities to ensure a quality product. It gathers data from the
product description, requirements, and use case documents.
The test plan document includes the following:
● Testing objectives
● Test scope
● Testing the frame
● Environment
● Unit testing
● Integration testing
● Regression testing
● Shakeout testing
● Smoke testing
● Functional testing
● Performance testing
○ Load testing
○ Stress testing
○ Endurance testing
● White-box and Black-box testing
● Alpha and Beta testing
● System testing
13. How do you test a product if the requirements are yet to be frozen?
If the required specifications are not available for a product, then a test plan can be created based on
the assumptions made about the product. But we should get all assumptions well-documented in the
test plan.
If a product is in the production stage and one of its modules gets updated, then is it necessary to ret
It is suggested to perform a regression testing and run tests for all the other modules as well. Finally, the
QA should also carry out a system testing.
14. How will you overcome the challenges faced due to the unavailability of proper documentation for
testing?
If the standard documents like System Requirement Specification or Feature Description Document are
not available, then QAs may have to rely on the following references, if available.
● Screenshots
● A previous version of the application
● Wireframes
Another reliable method is to have discussions with the developer and the business analyst. It helps in
solving the doubts, and it opens a channel for bringing clarity on the requirements. Also, the emails
exchanged could be useful as a testing reference.
Smoke testing is yet another option that would help verify the main functionality of the application. It
would reveal some very basic bugs in the application. If none of these work, then we can just test the
application from our previous experiences.
● We perform retesting to verify the defect fixes. But, the regression testing assures that the
bug fix does not break other parts of the application.
● Regression test cases verify the functionality of some or all modules.
● Regression testing ensures the re-execution of passed test cases. Whereas, retesting
involves the execution of test cases that are in a failed state.
● Retesting has a higher priority over regression. But in some cases, both get executed in
parallel.
16. As per your understanding, list down the key challenges of software testing.
Following are some of the key challenges of software testing:
● Unit testing
● Smoke testing
● UAT
● Sanity testing
● Interface testing
● Integration testing
● System testing
● Regression testing
18. What are functional test cases and non-functional test cases?
● Non-functional testing: In software terms, when an application works as per the user’s
expectation, smoothly and efficiently under any condition, then it is stated as a reliable
application. Based on quality, it is very critical to test these parameters. This type of testing
is called non-functional testing.
● The day of birth of a defect is the day it got assigned and accepted by the development
team.
● The issues which got dropped are out of the scope.
● Age can be both in hours or days.
● The end time is the day the defect got verified and closed, not just the day it got fixed by
the development team.
24. Is there any difference between quality assurance, quality control, and software testing. If so,
what is it?
Quality Assurance (QA) refers to the planned and systematic way of monitoring the quality of the
process which is followed to produce a quality product. QA tracks the test reports and modifies the
process to meet the expectation.
Quality Control (QC) is relevant to the quality of the product. QC not only finds the defects but suggests
improvements too. Thus, a process that is set by QA is implemented by QC. QC is the responsibility of
the testing team.
Software testing is the process of ensuring that the product which is developed by developers meets the
users’ requirements. The aim of performing testing is to find bugs and make sure that they get fixed.
Thus, it helps to maintain the quality of the product to be delivered to the customer.
25. Tell me the key elements to consider while writing a bug report.
An ideal bug report should consist of the following key points:
● A unique ID
● Defect description: A short description of the bug
● Steps to reproduce: They include the detailed test steps to emulate the issue. They also
provide the test data and the time when the error has occurred
● Environment: Add any system settings that could help in reproducing the issue
● Module/section of the application in which the error has occurred
● Severity
● Screenshots
● Responsible QA: This person is a point of contact in case you want to follow-up regarding
this issue
26. Is there any difference between bug leakage and bug release?
Bug leakage: Bug leakage is something, when the bug is discovered by the end user/customer and
missed by the testing team to detect while testing the software. It is a defect that exists in the
application and not detected by the tester, which is eventually found by the customer/end user.
Bug release: A bug release is when a particular version of the software is released with a set of known
bug(s). These bugs are usually of low severity/priority. It is done when a software company can afford
the existence of bugs in the released software but not the time/cost for fixing it in that particular
version.
Exploratory testing is a hands-on approach in which testers are involved in minimum planning and
maximum test execution. The planning involves the creation of a test charter, a short declaration of the
scope of a short (1 to 2 hour) time-boxed test effort, the objectives and possible approaches to be used.
The test design and test execution activities are performed in parallel typically without formally
documenting the test conditions, test cases or test scripts. This does not mean that other, more formal
testing techniques will not be used. For example, the tester may decide to use boundary value analysis
but will think through and test the most important boundary values without necessarily writing them
down. Some notes will be written during the exploratory-testing session so that a report can be
produced afterward.
In order to identify and execute the functional requirement of an application from start to finish "use
case" is used and the techniques used to do this is known as "Use Case Testing."
The relationship between test cases and requirements is shown with the help of a document. This
document is known as a traceability matrix.
Equivalence partitioning testing is a software testing technique which divides the application input test
data into each partition at least once of equivalent data from which test cases can be derived. By this
testing method, it reduces the time required for software testing.
31. What is white box testing and list the types of white box testing?
White box testing technique involves selection of test cases based on an analysis of the internal
structure (Code coverage, branch coverage, path coverage, condition coverage, etc.) of a component or
system. It is also known as Code-Based testing or Structural testing. Different types of white box testing
are
1. Statement Coverage
2. Decision Coverage
33. What is black box testing? What are the different black box testing techniques?
Black box testing is the software testing method which is used to test the software without knowing the
internal structure of code or program. This testing is usually done to check the functionality of an
application. The different black box testing techniques are
1. Equivalence Partitioning
2. Boundary value analysis
3. Cause-effect graphing
Verification is a process of evaluating software at the development phase. It helps you to decide
whether the product of a given application satisfies the specified requirements. Validation is the process
of evaluating software at the after the development process and to check whether it meets the
customer requirements.
1. Unit/component/program/module testing
2. Integration testing
3. System testing
4. Acceptance testing
37. What is the difference between UAT (User Acceptance Testing) and System testing?
System Testing: System testing is finding defects when the system undergoes testing as a whole; it is
also known as end-to-end testing. In such type of testing, the application suffers from beginning till the
end.
UAT: User Acceptance Testing (UAT) involves running a product through a series of specific tests which
determines whether the product will meet the needs of its users.
38. What is the difference between test scenarios, test cases, and test script?
Test Scenarios: A Test Scenario is any functionality that can be tested. It is also called Test Condition or
Test Possibility.
Test Cases: It is a document that contains the steps that have to be executed; it has been planned
earlier.
Test Script: It is written in a programming language and it's a short program used to test part of the
functionality of the software system. In other words a written set of steps that should be performed
manually.
39. Explain what Test Plan is? What is the information that should be covered in Test Plan?
A test plan can be defined as a document describing the scope, approach, resources, and schedule of
testing activities and a test plan should cover the following details.
● Test Strategy
● Test Objective
● Exit/Suspension Criteria
● Resource Planning
● Test Deliverables
40. How can you eliminate the product risk in your project?
It helps you to eliminate product risk in your project, and there is a simple yet crucial step that can
reduce the product risk in your project.
● Have discussions about the project with all stakeholders including the developer
● As a real user walk around the website
42. On what basis you can arrive at an estimation for your project?
43. What is the difference between Test matrix and Traceability matrix?
Test Matrix: Test matrix is used to capture actual quality, effort, the plan, resources and time required
to capture all phases of software testing
Traceability Matrix: Mapping between test cases and customer requirements is known as Traceability
Matrix
The variation of regression testing is represented as N+1. In this technique, the testing is performed in
multiple cycles in which errors found in test cycle 'N' are resolved and re-tested in test cycle N+1. The
cycle is repeated unless there are no errors found.
45. Explain what the difference between latent and masked defects is?
● Latent defect: A latent defect is an existing defect that has not caused a failure because the sets
of conditions were never met
● Masked defect: It is an existing defect that has not caused a failure because another defect has
prevented that part of the code from being executed
Bottom-up testing is an approach to integration testing where the lowest level components are tested
first, then used to facilitate the testing of higher level components. The process is repeated until the
component at the top of the hierarchy is tested.
47. Mention what the different types of test coverage techniques are?