Manual Testing Interview Questions (General Testing) : What Does Software Testing Mean?
Manual Testing Interview Questions (General Testing) : What Does Software Testing Mean?
Manual Testing Interview Questions (General Testing) : What Does Software Testing Mean?
Read them
all to boost your testing concepts.
1. The testing process guarantees the software will work as per the expectation of the
customers.
2. It reduces the coding cycles by identifying issues at the initial stage of the
development.
3. Discovery of issues in the earlier SDLC phases ensures proper utilization of
resources and prevents any cost escalations.
4. The testing team brings customer view into the process and finds use cases that a
developer may overlook.
5. Any failure, defect or a bug observed by the customer distorts a firm’s credibility
which only the testing can ensure not to happen.
When Should You Start The Testing Process?
Testing should begin from the inception of the project. Once you get the requirements
baselined, System testing plan and test cases preparation should start. It also helps in
exploring any gaps in the functional requirements.
1. Test case execution: The successful completion of a full test cycle after the final bug
fix marks the end of the testing phase.
2. Testing deadline: The end date of the validation stage also declares the closure of
the validation if no critical or high priority defects remain in the system.
3. MTBF rate: It is the mean time between failures (MTBF) which reflects the reliability
of the components. If it is on the higher side, then PO and EM can decide to stop
testing.
4. CC ratio: It is the amount of code covered via automated tests. If the team achieves
the desired level of code coverage (CC) ratio, then they can choose to end the
validation.
What Does Quality Assurance Mean In Software Testing?
Quality assurance is a process-oriented approach to certify a software development
(SDLC) method that it is correct and follows the standard procedures. It may bring
changes in the process and cause to replace the weak practices if it identifies any. It
includes review activities such as the inspection of documents, test cases, source code,
and automation, etc.
What Does Quality Control Mean In Software Testing?
Quality control is a product-oriented approach to qualify that the product under
development meets the original software specifications. It also results in changes to the
product if there are bugs in the system or some deviation observed in the
implementation. It includes different type of testing to perform which are functional (unit,
usability, integration, etc.) and non-functional (compatibility, security, performance, etc.).
What Does Verification Mean In Software Testing?
In software testing, the verification is a means to confirm that product development is
taking place as per the specifications and using the standard development procedures.
It comprises of the following activities.
1. Inspections
2. Reviews
3. Walk-throughs
4. Demos
What Does Validation Mean In Software Testing?
In software testing, the validation is a means to confirm that the developed product
doesn’t have any bugs and working as expected. It comprises of the following activities.
1. Functional testing
2. Non-functional testing
What Is Static Testing, When Does It Start, And What Does It
Cover?
It is a white box testing technique which directs the developers to verify their code
with the help of a checklist to find errors in it.
Developers can start it done without actually finalizing the application or program.
Static testing is more cost-effective than Dynamic testing.
It covers more areas than Dynamic testing in a shorter time.
What Is Dynamic Testing, When Does It Start, And What Does It
Cover?
Dynamic testing involves the execution of an actual application with valid inputs and
checking of the expected output.
Examples of Dynamic testing are Unit Testing, Integration Testing, System Testing
and Acceptance Testing.
Dynamic testing happens after code deployment.
It starts during the validation stage.
Read details from here – Static and Dynamic Testing
Define White Box Testing?
White Box Testing has many names such as Glass Box, Clear Box, or Structural
Testing.
It requires the testers to gain code-level perspective, design cases to exploit code and
find potential bugs.
A test plan captures all possible testing activities to guarantee a quality product. It
gathers data from the product description, requirement, and use case documents.
Testing objectives
Test scope
Testing the frame
The environment
Reason for testing
The criteria for entrance and exit
Deliverables
Risk factors
What Is The Difference Between Master Test Plan And Test
Plan?
The difference between the Master Plan and Test Plan can be described using the
following points.
1. Master Test Plan contains all the test scenarios and risks prone areas of the
application. Whereas, the Test Plan document contains test cases corresponding to test
scenarios.
2. Master Test Plan captures every test to be run during the overall development of
application whereas test plan describes the scope, approach, resources, and schedule
of performing the execution.
3. MTP includes test scenarios for all the phases of the application development
lifecycle. Whereas, a separate test plan also exists for the Unit, Functional, and System
testing which includes cases specific to related areas.
4. A Master Test Plan suffice for big projects which require execution in all phases of
testing. However, preparing a basic Test Plan is enough for small projects.
What Are Test Cases?
A test case is a sequence of actions and observations that are used to verify the desired
functionality.
A test scenario can have one or many associations with a test case which means it can
include multiple test cases.
For example, if a tester is validating a graphics tool, then he would need to procure
relevant data for graph generation.
It is applicable for both functional and non-functional testing activities. This metric helps
testers to add missing test cases.
Testing metrics
Test design specs
End-to-end scenarios
Test summary reports
Bug reports
What Is A Business Requirements Document (BRD)?
BRD provides a detailed business solution for a project including the documentation of
customer needs and expectations.
It is mostly the developers who test individual units or modules to check if they are
working correctly.
1. Let’s say there is a scenario to test the interface between modules A and B. We have
developed only module-A. Then we can test module-A if we have real module-B or a
dummy module for it. In this case, we call module-B as the Test Stub.
2. Now, module-B can’t send or receive data directly from module-A. In such a scenario,
we’ve to move data from one module to another using some external features called
Test Driver.
What Is Meant By Big Bang Approach?
It means to merge all the modules after testing of individual modules and verify the
functionality.
It involves the use of dummy modules such as Stubs and Drivers. They make up for
missing components to simulate data exchange.
Finally, it tests the integrated modules to ensure the system is working as expected.
It first tests the lowest level modules and then goes for high-level modules. Finally, it
verifies the integrated modules to ensure the system is working as expected.
What Is Meant By System Testing?
It is the final testing activity which tests the fully integrated application and confirms its
compliance with business requirements.
Alternatively, we call it as End to End testing. It verifies the whole system to ensure that
the application is behaving as expected.
Example:
The probability that a Server class application hosted on the cloud is up and running for
six long months without crashing is 99.99%. We refer to this type of testing as reliability.
Data Flow Testing emphasizes for designing test cases that cover control flow paths
around variable definitions and their uses in the modules. It expects them to have the
following attributes:
API testing is also a white box testing method. It makes use of the code and a
programming tool to call the API. It ignores the UI layer of the application and validates
the path between the client and the API. The client software forwards a call to the API to
get the specified return value. API testing examines whether the system is responding
with the correct status or not.
API testing got carried out by the testers to confirm the system from end to end. They
don’t have permissions to get to the source code but can use the API calls. This testing
covers the authorization, usability, exploratory, automated and document validation.
It skips the in-house testing activities and executes at the client end.
1. We do the beta test when the product is about to release to the customer whereas
pilot testing takes place in the earlier phase of the development cycle.
2. In the beta test, testing application is given to a few users to make sure that
application meet the customer requirements and does not contain any showstopper
bug. Whereas, in the pilot test, few members of the testing teamwork at the Customer
site to set up the product. They give their feedback also to improve the quality of the
end product.
What Are Rainbow Or Color Box Testing Types?
The majority of software testers knew about the grey, black and white box testing. Let’s
see what all color box testings are available.
Hence, the High availability testing confirms that a system or its sub-systems have gone
through thorough checks and, in many cases, simulates failures to validate whether
components support redundancy or not.
In Baseline testing, the tests capture and preserve all the results produced by the
source code, and compare against a reference baseline. This reference baseline refers
to the last accepted test results. If there are new changes in the source code, then it
requires re-execution of tests to form the current baseline. If the new results get
accepted, then the current baseline becomes the reference.
Error Seeding.
It is the process of adding known bugs in a program for tracking the rate of detection &
removal. It also helps to estimate the number of faults remaining in the program.
Run more tests to make sure that the problem has a clear description.
Run a few more tests to ensure that the same problem doesn’t exist with different
inputs.
Once we are sure of the full scope of the bug, then we can add details and report it.
Why Is It Impossible To Test A Program Thoroughly?
Here are the two principal reasons that make it impossible to test a program entirely.
How Will You Tell If Enough Test Cases Have Been Created To
Test A Product?
First of all, we’ll check if every requirement has at least one test case covered. If yes,
then we can say that there are enough test cases to test the product.
Traceability matrix is a testing tool which testers can use to track down the gaps.
However, everyone involved in the project has a part in minimizing the risk. But it’s the
leader who ensures that the whole team understands the individual role in managing the
risk.
Following are some of the risks that are of concern to the QA.
1. New Hardware
2. New Technology
3. New Automation Tool
4. The sequence of code delivery
5. Availability of test resources for the application
We prioritize them into three categories which are as follows.
1. High magnitude: Impact of the bug on the other functionality of the application
2. Medium: It is somewhat bearable but not desirable.
3. Low: It is tolerable. This type of risk has no impact on the company business.
What Is The Difference Between Coupling And Cohesion?
The difference between coupling and cohesion is as follows.
Cohesion is the degree which measures the dependency of the software
component that combines related functionality into a single unit whereas coupling
represents to have it in a different group.
Cohesion deals with the functionality that relates to different processes within a
single module whereas coupling deals with how much one module is dependent on
the other modules within the product.
It is a good practice to increase the cohesion between the software whereas
coupling is discouraged.
What Is CMM?
The Capability Maturity Model for Software (CMM or SW-CMM) is a model for
assessing the maturity of the software processes of an organization.
It also identifies the key practices that increase the maturity of these processes.
1- Unit Testing
2- Smoke testing
3- Sanity testing
4- Integration Testing
5- Interface Testing
6- System Testing
7- Regression Testing
8- UAT
After that, we verify the functionality by exercising all the said features, their options and
ensure that they behave as expected.
This tool makes use of Visual Basic (VB) scripting to automate the functional workflows.
It allows us to integrate manual, automated as well as framework-based test scripts in
the same IDE.
Authentication
Business rules
Historical Data
Legal and Regulatory Requirements
External Interfaces
What Are The Non-Functional Requirements?
The non-functional requirements specify how the system should behave. Some of these
are as follows:
Performance
Reliability
Security
Recovery
Data Integrity
Usability
What Is The Difference Between Functional And Nonfunctional
Requirements?
In Software engineering terms, a non-functional requirement (NFR) is one that lays
down the criteria for assessing the operation of a system, rather than a general
behavior. They often get called the “quality attributes” of a system.
On the other hand, functional requirements are those that cover the technical aspect of
the system.
1. Requirement Analysis
2. Test Planning
3. Test Case Development
4. Environment Setup
5. Test Execution
6. Test Cycle Closure
In this stage, the test lead has to get the effort and cost estimation done for the whole
project. This phase starts soon after the RA phase gets over. The outcomes of the TP
include the Test Planning & Effort estimation documents. After the planning ends, the
testing team can begin writing the test case development tasks.
What Are The Tasks Performed In The Test Planning (TP) Phase
Of STLC?
Test team performs the following tasks during the TP phase.
One of the documents which team has to produce is the Requirement Traceability
Matrix (RTM). It is an industry-wide standard for ensuring the test case get correctly
mapped with the requirement. It helps in tracking both the backward & forward direction.
What Are The Tasks Performed In The Test Case Development
Phase Of STLC?
Test team performs the following tasks during the TCD phase.
It is an independent task and can go in parallel with test case writing stage. The team or
any member outside the group can also help in setting up the testing environment. In
some organizations, a developer or the customer can also create or provide the testing
beds. Simultaneously, the test team starts writing the smoke tests to ensure the
readiness of the test infra.
If a test case executes successfully, the team should mark it as Passed. If some tests
have failed, then the defects should get logged, and the report should go to the
developer for further analysis. As per the books, every error or failure should have a
corresponding defect. It helps in tracing back the test case or the bug later. As soon as
the development team fixes it, the same test case should execute and report back to
them.
What Are The Tasks Performed In The Test Execution Phase Of
STLC?
Test team performs the following tasks during the TE phase.
They discuss what went well, where is the need for improvement and notes the pain
points faced in the current STLC. Such information is beneficial for future STLC cycles.
Each member puts his/her views on the test case & bug reports and finalizes the defect
distribution by type and severity.
What Are The Tasks Performed In The Test Cycle Closure Phase
Of STLC?
Test team performs the following tasks during the TCC phase.
1. Define closure criteria by reviewing the test coverage, code quality., the status of the
business objectives, and test metrics.
3. Produce a test closure report.
4. Publish best practices used in the current STLC.
It could also happen in a customer environment that a particular feature didn’t work after
product deployment. They would term it as a product failure.
However, an error would also fall in the same category. But in some cases, errors are
fixed values.
Defect Life Cycle is the representation of the different states of a defect which it attains
at different levels during its lifetime. It may have variations from company to company or
even gets customized for some projects as the software testing process drives it to not
getting out of the way.
What Is Defect Leakage?
Defect leakage occurs at the Customer or the End-user side after the product delivery. If
the end user sees an issue in the application, then such bugs lead to Defect leakage.
And this process of finding bugs is also called as Bug Leakage.
KLOC (Thousands of lines of code) is the unit used to measure the defect density.
For example – let’s say the QA logged 70 defects during the testing cycle and the
customer reported 20 more after the release. The DDP would come to 72.1% after the
calculation as 70/(70 + 20) = 72.1%.
It gets measured as the ratio of defects fixed to total the number of issues discovered.
For example – let’s say that there were 75 defects discovered during the test cycle while
62 of them got fixed by the dev team at the time of measurement. The DRE would come
to 82.6% after the calculation as 62/75 = 82.6%.
1. The day of birth for a Defect is the day it got assigned and accepted by the dev.
2. The issues which got dropped are out of the scope.
3. The age can be both in hours or days.
4. The end time is the day got verified and closed, not just fixed by the dev.
1. Arrange the defects based on their causes, not via consequences. Don’t club bugs
that yield the same outcome. Prefer to group issues depending on what module they
occur.
2. Collaborate with the dev team to discover new ways to categorize the problems. E.g.,
use the same static library for the components which counted for the most bugs.
3. Put more energy for locating the problem areas in the source code instead of doing a
random search.
4. Re-order the test cases and pick the critical ones first to begin.
5. Pay attention to the end-user response and assess the risk areas around.
1. It’s a tool developed for performing the regression and functionality testing of the
application.
2. It benefits when we are testing Window based, Java, the web, and the traditional
client/server applications.
3. Silk Test help in preparing the test plan and managing them to provide the direct
accessing of the database and validation of the field.
How Do You Perform Automated Testing In Your Environment?
Automation Testing is a process of executing tests automatically. It reduces the human
intervention to a great extent. We use different test automation tools like QTP,
Selenium, and WinRunner. These tools help in speeding up the testing tasks.
Using the above tools we can create test scripts to verify the application automatically.
After completing the test execution, these tools also generate the test reports.