100 Questions
100 Questions
Basically, it is used for ensuring the quality of software to the stakeholders of the
application.
Requirement Phase
Requirement gathering and analysis is the most important phase in the software development
lifecycle. Requirement phase is the first step of the SDLC. Business Analyst collects the
requirement from the Customer/Client as per the clients business needs and documents the
requirements in the Business Requirement Specification (document name varies depends
upon the Organization. Some examples are Customer Requirement Specification (CRS),
Business Specification (BS), etc., and provides the same to Development Team.
Analysis Phase
Once the requirement gathering and analysis is done the next step is to define and document
the product requirements and get them approved by the customer. This is done through the
SRS (Software Requirement Specification) document. SRS consists of all the product
requirements to be designed and developed during the project life cycle. Key people involved
in this phase are Project Manager, Business Analyst and Senior members of the Team. The
outcome of this phase is the Software Requirement Specification.
Design Phase
Coding/Development Phase
Developers of all levels (seniors, juniors, freshers) involved in this phase. This is the phase
where we start building the software and start writing the code for the product. The outcome
from this phase is Source Code Document (SCD) and the developed product.
Testing Phase
When the software is ready, it is sent to the testing department where Test team tests it
thoroughly for different defects. They either test the software manually or using automated
testing tools depends on the process defined in STLC (Software Testing Life Cycle) and
ensure that each and every component of the software works fine. Once the QA makes sure
that the software is error-free, it goes to the next stage, which is Implementation. The
outcome of this phase is the Quality Product and the Testing Artifacts.
After successful testing, the product is delivered/deployed to the customer for their use.
Deployment is done by the Deployment/Implementation engineers. Once when the customers
start using the developed system then the actual problems will come up and needs to be
solved from time to time. Fixing the issues found by the customer comes in the maintenance
phase. 100% testing is not possible – because, the way testers test the product is different
from the way customers use the product. Maintenance should be done as per SLA (Service
Level Agreement)
https://www.softwaretestingmaterial.com/sdlc-software-development-life-cycle/
4.Explain STLC
Software Testing Life Cycle or STLC refers to a series of systematic and well-defined
steps performed during the testing of a software application.
Requirement Analysis - The entry criteria for this phase is the BRS (Business Requirement
Specification) document. During this phase, the test team studies and analyzes the
requirements from a testing perspective.
This phase helps to identify whether the requirements are testable or not. If any requirement
is not testable, the test team can communicate with various stakeholders (Client, Business
Analyst, Technical Leads, System Architects, etc) during this phase so that the mitigation
strategy can be planned.
Test Planning - In this phase typically Test Manager/Test Lead involves determining the
effort and cost estimates for the entire project. Preparation of the Test Plan will be done
based on the requirement analysis.
Activities like resource planning, determining roles and responsibilities, tool selection (if
automation), training requirements, etc., carried out in this phase.
The deliverables of this phase are Test Plan & Effort estimation documents.
Test Case Development -The test team starts with test case development activity here in
this phase. Testers prepares test cases, test scripts (if automation), and test data.
Once the test cases are ready then these test cases are reviewed by peer members or team
lead.The deliverables of this phase are Test Cases, Test Scripts, Test Data, Requirements
Traceability Matrix
Test Environment Setup - This phase involves the creation of a test environment closely
simulating the real-world environment. The testing team uses this environment to test the
whole application. The different types of testing manual, automated, performance, etc are
carried out here.
Test Execution - The test team starts executing the test cases based on the planned test
cases. If a test case result is Pass/Fail then the same should be updated in the test cases.
The defect report should be prepared for failed test cases and should be reported to the
Development Team through a bug tracking tool for fixing the defects.
Retesting will be performed once the defect was fixed.
Test Closure - This phase marks the formal closure of testing. It involves checking if all the
project deliverables are delivered, archiving the testware (everything involved in testing like
test plan, test case, automation scripts), test environment, and documenting learning.
https://www.softwaretestingmaterial.com/stlc-software-testing-life-cycle/
5.Explain fundamental test process? (PAIET)
Testing is a process rather than a single activity.Testing must be planned and it requires discipline to
act upon it.The quality and effectiveness of software testing are primarily determined by the quality of
the test processes used. The activities of testing can be divided into the following basic steps:
Purpose
● To determine the scope and risks and identify the objectives of testing.
● To determine the required test resources like people, test environments etc.
● To schedule test analysis and design tasks, test implementation, execution and evaluation.
Control This is the activity of comparing actual progress against the plan, and reporting the status,
including deviations from the plan. It involves taking actions necessary to meet the mission and
objectives of the project.
● To review the test basis. The test basis is the information on which test cases are based, such
as requirements, design specifications, product risk analysis, architecture and interfaces
● To identify test conditions
● To design the tests
● To design the test environment set-up and identify the required infrastructure and tools
3) Implementation and Execution
Test execution involves actually running the specified test on a computer system either manually or
by using an automated test tool. It is a Fundamental Test Process in which actual work is done.
● To develop and prioritize test cases by using techniques and create test data for those tests.
● To create test suites from the test cases for efficient test execution. Test suite is a collection of
test cases that are used to test a software program
● To re-execute the tests that previously failed in order to confirm a fix.
● To log the outcome of the test execution. A test log is the status of the test case (pass/fail).
● To compare actual results with expected results.
● To assess if more test are needed or if the exit criteria specified should be changed
● To write a test summary report for stakeholders
Error - The Problem in code leads to errors, which means that a mistake can occur due to
the developer's coding error as the developer misunderstood the requirement or the
requirement was not defined correctly. The developers use the term error.
Defect - When the application is not working as per the requirement is knows as defects.
It is specified as the aberration from the actual and expected result of the application or
software. In other words, we can say that the bug announced by the programmer and inside
the code is called a Defect.
Failure - Many defects lead to the software's failure, which means that a loss specifies a
fatal issue in software/ application or in its module, which makes the system unresponsive or
broken. In other words, we can say that if an end-user detects an issue in the product, then
that particular issue is called a failure. Possibilities are there one defect that might lead to
one failure or several failures.
7.Software failures can cause losses. Give three consequences of software failures?
8.In the V-model, which document would be used as the test basis for unit testing?
Program specification would be used as the basis for unit-testing.
● Big Bang Integration Testing — After all of the modules have been merged, big bang
integration testing begins.
● Top-down Integration Testing — In top-down integration, testing and integration begin
at the top and work their way down.
● Bottom-up Integration Testing — In bottom-up integration testing, lower-level
modules are tested before moving up the hierarchy to higher-level modules.
● Hybrid Integration Testing — Hybrid integration testing combines top-down and
bottom-up integration testing techniques. The integration with this approach starts
at the middle layer, and testing is done in both directions.
11.In the V-model, which document is used as the test basis for system testing?
15.In the V-model, what is the test basis for acceptance testing?
Acceptance testing will be carried out using the requirement specification as a basis
for test.
Request from the end-users to add new features to the existing software.
End-users may want to migrate from one platform to another such as upgrading their
environment like operating system, database, etc
The Testing done during this enhancement,change and migration cycle is known as
maintenance testing. Once the software is deployed in operational environment it
needs some maintenance from time to time in order to avoid system breakdown,most
of the banking software systems needs to be operational 24*7*365. So it is very
necessary to do maintenance testing of software applications.
#1. Confirmation Maintenance Testing:
It is to test the modified functionality.
During this part of maintenance testing as a tester, you have to test all the modifications
(either small or big) made in the software thoroughly and make sure that there are no
functionality issues and downtime.
Note: The test environment should be a replica of the live environment along with test data.
Impact analysis is a software testing approach that helps you define all risks associated
with any kind of changes made to the product under test.
24.What is debugging?
25.What other elements apart from ‘test execution’ are included in ‘testing’?
Requirement Analysis
Test Planning
Environment Setup
Test Execution
Firstly, using the requirements design the necessary tests and to set them up. For each
development module, there must be a clear and corresponding test which ensures that
the requirement is met. Once the test has been executed the results must be logged
and this must be reviewed to ensure that the requirements have been met.
Early testing activity started the longer elapsed time available. Many problems in
software systems can be tracked back to missing or incorrect requirement. These
errors can be found in early test. If an error/defect is introduced in the coding activity,
its preferable to detect and correct it at this stage to prevent from errors of migration.
27.Contrast the advantages and disadvantages of developers testing their own code?
Advantages: For developers testing their own code has the advantage of fixing the
problems or defects as soon as they are discovered, without the need for extensive
logs.
Verification checks that the work-product meets the requirements set out for it. An
example of this would be to ensure that a website being built follows the guidelines for
making websites usable by as many people as possible. Verification helps to ensure
that we are building the product in the right way.
Inspections
Reviews
Walkthroughs
Desk-checking
Unit testing
Integration testing
The advantage is that it saves ample amount of time and since the testing team is
involved early on, they develop a very good understanding of the project at the very
beginning.
a) Requirement
b) Design
c) Code
e) Test
● Although cost of change is lesser, but it is not very suitable for changing requirements.
Agile model
RAD model
Spiral model
https://qacraft.com/software-testing-models/
Error of Speed or Capacity : The name of the error is itself enough i think to tell about it
this error. Your software is working fine but not working in the required time this is the
error of speed. When it comes to capacity it can be relevant to memory. For example, a
small integer is declared where the long integer was required.
39.What is a bug?
Test log is one of the crucial test artifact prepared during the process of testing. It provides a detailed
summary of the overall test run and indicates the passed and failed tests. Additionally, test log also
contains details and information about various test operations, including the source of issues and the
reasons for failed operations. The focus of this report/document is to enable post execution diagnosis
of failures and defects in the software.
Testers play an extremely vital role in creating test logs, which should be created whenever test are
executed or possibly when test scripts are implemented by the team. Moreover, apart from offering
information about various tests, test log also includes images of the test application, links to files, and
other various entries.
Severity: It is the extent to which the defect can affect the software. In other words it
defines the impact that a given defect has on the system. For example: If an
application or web page crashes when a remote link is clicked, in this case clicking the
remote link by an user is rare but the impact of application crashing is severe. So the
severity is high but priority is low.
Priority :It defines the priority in which the defects should be resolved. if there are
multiple defects, the priority decides which defect has to be fixed and verified
immediately versus which defect can be fixed a bit later. It is usually set by the lead
Few very important scenarios related to the severity and priority which are asked during
the interview:
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. (Eg. A site maintaining the student
details, on saving record if it, doesn’t allow to save the record then this is high priority and high
severity bug.)
High Priority & Low Severity: The spelling mistakes that happens on the cover page or heading
or title of an application.
High Severity & Low Priority: An error which occurs on the functionality of the application (for
which there is no workaround) and will not allow the user to use the system but on click of
link which is rarely used by the end user.
Low Priority and Low Severity: Any cosmetic or spelling issues which is within a paragraph or
in the report (Not on cover page, heading, title).
Alpha testing is done by the in-house developers (who developed the software) and testers
before we ship the software to the customers. Sometimes alpha testing is done by the client
or outsourcing team with the presence of developers or testers. It is a part of User
Acceptance Testing. The purpose of doing this is to find bugs before the customers start
using the software.
Beta testing is done by a limited number of end-users before delivery. It is done after the
Alpha Testing. Usually, it is done in the client’s place. Learn more about Beta Testing here.
44.What are the attributes in test plans?
Introduction
1. Features to be tested 2. Features not to be tested
45.What is the difference between UAT (User AcceptanceTesting) and System testing?
System Testing: System Testing is done to check whether the software or product meets the
specified requirements or not. It is done by both testers and developers. It contains the
Testings: System testing, Integration Testing. It is done through more positive and negative
test cases.
Acceptance Testing: Acceptance Testing is done after the system testing. It is used to check
whether the software meets the customer requirements or not. Acceptance testing is used by
testers, stakeholders as well as clients. It includes only Functional Testing and it contain two
testing Alpha Testing and Beta Testing.
Monkey Testing is a software testing technique in which the tester enters any random
inputs into the software application without predefined test cases and checks the behavior
of the software application, whether it crashes or not. The purpose of Monkey testing is to
find the bugs and errors in the software application using experimental techniques.
● Dumb Monkey – The tester performing the monkey testing doesn’t have any
knowledge of the application under test.
Their only focus is to break the application thus are not aware of any start or
end point of the whole process. On top of this they are also unknown to the UI
and functionality of the software.
● Smart Monkey – With this type of testing, the tester has a fair idea of the
application to be tested. They are aware of the test inputs and know where the
webpages will lead the application to.
● Brilliant Monkey – These types of testers have a very good idea of the
application. They can also test the application based on the user’s perspective.
The focus here is not just to break the application but to give inputs from a
specific domain perspective. This helps in breaking the application as well as
finding bugs.
2. Even when the bugs are found, it is very hard to reproduce the exact steps to
reproduce the bugs.
48.What is black box testing? What are the different blackbox test design techniques?
Black box testing is the type of testing in which an application is tested based on its
requirements specifications without the need for knowledge of its internal architecture.
Following are some of the most common types of black-box testing techniques.
Equivalence class partitioning
Equivalence class partitioning involves partitioning the input data into logical groups or
equivalence classes. All the data items lying in an equivalence class are assumed to be
processed in the same way by the application when passed as input.
E.g. for software that finds the square of a number, we can have different equivalence
classes like – all positive numbers, negative numbers, decimal numbers, negative decimal
numbers, etc. Its advantage is – the overall test execution time reduces as the number of
test data greatly reduces.
E.g. for equivalence classes with an input between 0 to 100, the test data using boundary
value analysis would be 0 and 100. Its advantage is – it is easier and faster to find defects
as the density of defects at boundaries is more.
Decision tables - Decision tables testing is used to test the application’s behavior
based on a different combination of input values. A decision table has a different set of
input combinations and their corresponding expected outcomes on each row.
State transition testing - The state transition testing is based on a state machine
model. In this technique, we test the application by graphically representing the transition
between the different states of the application based on the different events and action
Use case testing - Use case testing is a type of testing that is carried out using use
cases. In this technique, we test the application using use-cases, representing the
interaction of the application with the different actors.
https://artoftesting.com/black-box-testing
49.Faults found should be originally documented by whom?
Faults found should be originally documented by Testers.
50.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 has 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 functionality of the software system. In other words a written set of steps that
should be performed manually.
51.Explain what is Test Deliverables?
Test Deliverables are the artifacts which means “things” that are produced by people
involved in the process and are given to the stakeholders. Some deliverables are
provided before testing phase, Some during the testing phase and rest after the testing
cycle. The below are the list of test deliverables.
● Test Strategy
● Test Plan
● Effort Estimation Report
● Test Scenarios
● Test Cases/Scripts
● Test Data
● Requirement Traceability Matrix (RTM)
● Defect Report/Bug Report
● Test Execution Report
● Graphs and Metrics
● Test summary report
● Test incident report
● Test closure report
● Release Note
● Installation/configuration guide
● User guide
● Test status report
● Weekly status report (Project manager to client)
52.Explain what is Test Plan? What are the information that should be covered in Test
Plan?
Test plan document is a document which contains the plan for all the testing activities to be
done to deliver a quality product. Test Plan document is derived from the Product Description,
SRS, or Use Case documents for all future activities of the project. It is usually prepared by the
Test Lead or Test Manager.
● Test Strategy
● Test Objective
● Test Scope
● Reason for Testing
● Exit/Suspension Criteria
● Resource Planning
● Test Deliverables.
54.Why does the boundary value analysis provide good test cases?
Because the test object is tested under maximal load up to its performance limits.
Third, the test plan helps us to manage change. During early phases of the project, as
we gather more information, we revise our plans. As the project evolves and situations
change, we adapt our plans.By updating the plan at major milestone helps us to keep
testing aligned with project needs. As we run the tests, we make final adjustments to
our plans based on the results.
Unit Testing
● Unit Testing is the first level of testing usually performed by the developers.
● In unit testing, a module or component is tested in isolation.
● As the testing is limited to a particular module or component, exhaustive
testing is possible.
● Advantage – Error can be detected at an early stage saving time and money to
fix it.
● Limitation – Integration issues are not detected in this stage, modules may
work perfectly on isolation but can have issues in interfacing between the
modules.
Integration Testing
So, in those cases, stubs are used which are nothing but dummy
modules or functions that simulate the functioning of a module by
accepting the parameters received by the module and giving an
acceptable result.
System Testing
Acceptance Testing
● Acceptance testing is the final and one of the most important levels of testing
on successful completion of which the application is released to production.
● It aims at ensuring that the product meets the specified business requirements
within the defined standard of quality.
● There are two kinds of acceptance testing- alpha testing and beta testing.
1. When acceptance testing is carried out by testers or some other
internal employees of the organization at the developer’s site it is
known as alpha testing.
2. User acceptance testing done by end-users at the end-users site is
called beta testing.
Positive Testing
Positive Testing is a type of testing which is performed on a software application by
providing the valid data sets as an input. It checks whether the software application
behaves as expected with positive inputs or not. Positive testing is performed in order to
check whether the software application does exactly what it is expected to do.
For example –
There is a text box in an application which can accept only numbers. Entering values up to
99999 will be acceptable by the system and any other values apart from this should not be
acceptable. To do positive testing, set the valid input values from 0 to 99999 and check
whether the system is accepting the values.
Negative Testing
Negative Testing is a testing method performed on the software application by providing
invalid or improper data sets as input. It checks whether the software application behaves
as expected with the negative or unwanted user inputs. The purpose of negative testing is
to ensure that the software application does not crash and remains stable with invalid data
inputs.
For example –
Defect reports are usually created by the Quality Assurance team and also by the
end-users (customers). Often customers detect more defects and report them to the
support team of the software development since the majority of the customers
curiously tries out every feature in the application. Now, you know what actually defect
and defect reports are.
https://www.geeksforgeeks.org/defect-report-in-software-engineering/
Statement coverage:
It makes sure that each line of source code has been executed and tested.
Decision coverage:
It ensures that every decision (true/false) in the source code has been executed and tested.
Path coverage:
It ensures that every possible route through a given part of the code is executed and tested.
https://www.softwaretestingmaterial.com/user-acceptance-testing-uat/
https://www.guru99.com/user-acceptance-testing.html
https://www.guru99.com/test-case.html /
https://www.softwaretestingmaterial.com/test-case-template-with-explanation/
https://www.guru99.com/defect-life-cycle.html
https://www.softwaretestinghelp.com/bug-life-cycle/
https://www.ajonit.com/software-testing/bug-is-found-tester-job/
https://www.softwaretestingclass.com/what-should-be-done-after-a-bug-is-found/
https://www.guru99.com/traceability-matrix.html
https://www.testingxperts.com/blog/performance-testing-tools/
Under scripted testing, you design test cases first and later proceed with test execution.
On the contrary, exploratory testing is a simultaneous process of test design and test
execution all done at the same time.
Adhoc Testing :
Adhoc testing is a type of software testing which is performed informally and randomly
after the formal testing is completed to find out any loophole in the system. For this
reason, it is also known as Random testing or Monkey testing. Adhoc testing is not
performed in an structured way so it is not based on any methodological approach. That’s
why Adhoc testing is a type of Unstructured Software Testing.
No Documentation.
No Test cases.
No Test Design.
https://www.geeksforgeeks.org/adhoc-testing-in-software/
83.What is the difference between web application and desktop application in the scenario
of testing?
https://www.javatpoint.com/desktop-application-testing-vs-client-server-application-testin
g-vs-web-application-testing
84.What is the difference between Retesting andRegressionTesting?
Retesting vs Regression Testing
Regression Testing Re-testing
● You can do automation for regression ● You cannot automate the test
testing, Manual Testing could be cases for Retesting
expensive and time-consuming
● Regression testing is done for passed ● Retesting is done only for failed
test cases test cases
● Test cases for regression testing can be ● Test cases for retesting cannot
obtained from the functional specification, be obtained before start testing.
user tutorials and manuals, and defect
reports in regards to corrected problems
KEY DIFFERENCE
● Regression testing is performed for passed test cases while Retesting is done only
for failed test cases.
● Regression testing checks for unexpected side-effects while Re-testing makes sure
that the original fault has been corrected.
● Regression Testing doesn’t include defect verification whereas Re-testing includes
defect verification.
● Regression testing is known as generic testing whereas Re-testing is planned
testing.
● Regression Testing is possible with the use of automation whereas Re-testing is not
possible with automation.
https://www.guru99.com/re-testing-vs-regression-testing.html
Requirements:
Defects:
● Defined / Desired Defect count is reached.
● All Show Stopper defects or Blockers are fixed and No known Critical / Severity 1 defect is in
Open Status.
● All High Priority defects are identified and fixed.
● Defect Rate falls below defined acceptable rate.
● Very few Medium Priority defects are open and have a workaround in place.
● Very few low priority open defects that do not impact software usage.
● All High Priority defects are re-tested and closed and corresponding Regression scenarios
are successfully executed.
Test Coverage:
Deadlines:
Test Documents:
● All Test Documents / deliverables (Example – Test Summary Report) are prepared, reviewed
and published across.
Budget:
● “Go / No Go” meeting has been conducted with stakeholders and a decision is made
whether the project should go to production or not.
● https://www.softwaretestinghelp.com/when-to-stop-testing-exit-criteria-in-software-testing/#D
ecision_to_stop_testingExit_criteria
86.What is the negative and positive testing?
Ref. ans no. 58
https://www.guru99.com/usability-testing-tutorial.html
Test basis should be well defined and adequately structured so that one can easily
identify test conditions from which test cases can be derived.
For Example, the most complex issues – memory leaks, database server utilization, and
unresponsive system – happen when software runs for an extended period of time. If you
skip the endurance tests, your chances of detecting such defects prior to deployment are
quite low.
https://www.guru99.com/endurance-testing.html
i. Walkthrough
ii. Inspection
iii. Reviews
https://www.careerride.com/testing-types-of-verification.aspx
93.Different types of Validation Techniques?
Unit Testing – It is an important type of validation testing. The point of the unit testing
is to search for bugs in the product segment. Simultaneously, it additionally confirms
crafted modules and articles which can be tried independently.
Integration testing -This is a significant piece of the validation model wherein the
interaction between, where the association between the various interfaces of the
pertaining component is tried. Alongside the communication between the various
pieces of the framework, the connection of the framework with the PC working
framework, document framework, equipment, and some other programming
framework it may cooperate with, is likewise tried.
System testing – System testing is done when the whole programming framework is
prepared. The principal worry of framework testing is to confirm the framework against
the predefined necessities. While doing the tests, the tester isn’t worried about the
internals of the framework however checks if the framework acts according to desires.
User acceptance testing – During this testing, the tester actually needs to think like the
customer and test the product concerning client needs, prerequisites, and business
forms and decide if the product can be given over to the customer or not.
https://www.testrigtechnologies.com/validation-testing-what-why-and-how-of-it-a-mini-guid
e/
Example:
1. If the project is designed for Tamil Nadu State in India, The designed project should be
in Tamil language, Tamil virtual keyboard should be present, etc.
Sanity testing is a kind of Software Testing performed after receiving a software build,
with minor changes in code, or functionality, to ascertain that the bugs have been fixed
and no further issues are introduced due to these changes. The goal is to determine
that the proposed functionality works roughly as expected. If sanity test fails, the build
is rejected to save the time and costs involved in a more rigorous testing.
Smoke Testing is performed to ascertain Sanity Testing is done to check the new
that the critical functionalities of the functionality/bugs have been fixed
program is working fine
The objective of this testing is to verify the The objective of the testing is to verify the
“stability” of the system in order to “rationality” of the system in order to
proceed with more rigorous testing proceed with more rigorous testing
Smoke testing exercises the entire Sanity testing exercises only the particular
system from end to end component of the entire system
Smoke testing is like General Health Sanity Testing is like specialized health
Check Up check up
https://www.guru99.com/smoke-sanity-testing.html
Black box test cases do not require system understanding but white box testing needs
more structural understanding. And structural understanding is clearer i00n the later
part of project, i.e., while executing or designing. For black box testing you need to only
analyze from the functional perspective which is easily available from a simple
requirement document.
The internal workings of an The tester has limited knowledge Tester has full knowledge of
application need not be known. of the internal workings of the the internal workings of the
application. application.
Also known as closed-box Also known as translucent testing, Also known as clear-box
testing, data-driven testing, or as the tester has limited testing, structural testing, or
functional testing. knowledge of the insides of the code-based testing.
application.
Performed by end-users and Performed by end-users and also Normally done by testers and
also by testers and developers. by testers and developers. developers.
Testing is based on external Testing is done on the basis of Internal workings are fully
expectations - Internal behavior high-level database diagrams and known and the tester can
of the application is unknown. data flow diagrams. design test data accordingly.
It is exhaustive and the least Partly time-consuming and The most exhaustive and
time-consuming. exhaustive. time-consuming type of
testing.
Not suited for algorithm testing. Not suited for algorithm testing. Suited for algorithm testing.
This can only be done by Data domains and internal Data domains and internal
trial-and-error method. boundaries can be tested, if known. boundaries can be better
tested.
https://www.tutorialspoint.com/software_testing/software_testing_methods.htm
Also, defects are introduced in the development stage if the exact requirements are not
communicated properly to the development teams.
https://www.softwaretestinghelp.com/why-does-software-have-bugs
● Adding a feature
● Fixing a bug
● Improving the design
● Optimizing resource usage
https://www.informit.com/articles/article.aspx?p=359418
Interview questions
https://www.guru99.com/software-testing-interview-questions.html
https://testanart.wordpress.com/#:~:text=14)In%20the%20V%2Dmodel,test%20basis%
20for%20system%20testing.
https://testanart.wordpress.com/#:~:text=6)%20What%20other%20elements%20apart,
that%20the%20requirement%20is%20met.
https://testanart.wordpress.com/2012/10/20/life-cycles/
https://www.edureka.co/blog/interview-questions/manual-testing-interview-questions/
https://www.softwaretestingmaterial.com/100-software-testing-interview-questions/
https://www.interviewbit.com/software-testing-interview-questions/
https://www.simplilearn.com/manual-testing-interview-questions-and-answers-article
https://artoftesting.com/manual-testing-interview-questions
https://www.tutorialspoint.com/effective_resume_writing.htm
https://artoftesting.com/software-testing-life-cycle-stlc
file:///C:/Users/Suraj/Downloads/Manual%20Interview%20questions.pdf