manualTesting_interviewquestion
manualTesting_interviewquestion
Quality assurance is a process-oriented approach that focuses on making sure that the
methods, techniques, and processes used to create quality deliverables are applied correctly.
It points out the defects and errors that were made during the development phases.
Reduces the coding cycles by identifying issues at the initial stage of the development.
Ensures that software application requires lower maintenance cost and results in more
accurate, consistent and reliable results.
Testing ensures that the customer finds the organization reliable and their satisfaction in the
application is maintained.
Makes sure that software is bug-free and the quality of the product meets the market standard.
Ensures that the application doesn’t result in any failures.
Manual Testing – This is the oldest type of software testing where the testers manually execute
test cases without using any test automation tools. It means the software application is tested
manually by QA testers.
Automation Testing – This is the process of using the assistance of tools, scripts, and software
to perform test cases by repeating pre-defined actions. Test Automation focuses on replacing
manual human activity with systems or devices that enhance efficiency.
Unit testing – It is a way of testing the smallest piece of code referred to as a unit that can be
logically isolated in a system. It is mainly focused on the functional correctness of the
standalone module.
Integration Testing – It is a level of software testing where individual units are combined and
tested to verify if they are working as they intend to when integrated. The main aim here is to
test the interface between the modules.
System Testing – In system testing all the components of the software are tested as a whole in
order to ensure that the overall product meets the requirements specified. There are dozens of
types of system testing, including usability testing, regression testing, and functional testing.
User Acceptance Testing – The final level, acceptance testing, or UAT (user acceptance
testing), determines whether or not the software is ready to be released.
Test cases describe a specific idea that is to be tested, without detailing the exact steps to be
taken or data to be used. For example, in a test case, you document something like ‘Test if
coupons can be applied on actual price‘.
It is a dynamic analysis technique where testing is done by executing the code. Examples
include functional and non-functional testing techniques.
Course Curriculum
Software Testing Fundamentals Course
Instructor-led SessionsReal-life Case StudiesAssessmentsLifetime Access
Highly susceptible to human error and are risky
Test types like load testing and performance testing are not possible manually
Regression tests are really time-consuming if they are done manually
Scope of manual testing is very limited when compared to automation testing
Not suitable in very large organizations and time-bounded projects
The cost adds up, so, it’s more expensive to test manually in the long run
Q17. What’s the role of documentation in Manual Testing?
Documentation - Manual Testing Interview Questions - EdurekaDocumentation plays a critical
role in achieving effective software testing. Details like requirement specifications, designs,
business rules, inspection reports, configurations, code changes, test plans, test cases, bug
reports, user manuals, etc. should all be documented.
Documenting the test cases will facilitate you to estimate the testing effort you will need along
with test coverage and tracking and tracing requirement. Some commonly applied
documentation artifacts associated with software testing are:
Test Plan
Test Scenario
Test Case
Traceability Matrix
With this, we have completed basic questions based on manual testing. In the next part of this
Manual Testing Interview Questions article, let’s discuss advanced level questions related to
manual testing.
In manual testing, the accuracy, and reliability of test cases are low, as manual tests are more
prone to human error.
Automated testing, on the other hand, is more reliable as tools and scripts are used to perform
tests.
The time required for manual testing is high as human resources perform all the tasks.
The time required is comparatively low as software tool execute the tests
In manual testing investment cost is low, but Return of Investment(ROI) is low as well.
In automation testing investment cost and Return of Investment, both are high.
Manual testing is preferred when the test cases are run once or twice. Also suitable for
Exploratory, Usability and Adhoc Testing.
You can use test automation for Regression Testing, Performance Testing, Load Testing or
highly repeatable functional test cases
Allows for human observation to find out any glitches. Therefore manual testing helps in
improving the customer experience.
Q19. When should you opt for manual testing over automation testing?
There are a lot of cases when manual testing is best suited over automation testing, like:
Short-time projects: Automated tests are aimed at saving time and resources yet it takes time
and resources to design and maintain them. For example, if you are building a small
promotional website, it can be much more efficient to rely on manual testing.
Ad-hoc Testing: In ad-hoc testing, there is no specific approach. Ad-hoc testing is a totally
unplanned method of testing where the understanding and insight of the tester is the only
important factor. This can be achieved using manual testing.
Exploratory Test: This type of testing requires the tester’s knowledge, experience, analytical,
logical skills, creativity, and intuition. So human involvement is important in exploratory testing.
Usability Testing: When performing usability testing, the tester needs to measure how
user-friendly, efficient, or convenient the software or product is for the end-users. Human
observation is the most important factor, so manual testing sounds seems more appropriate.
Q20. What are the phases involved in Software Testing Life Cycle?
The different phases involved in the software testing life cycle are:
Phases Explanation
Requirement AnalysisQA team understands the requirement in terms of what we will testing &
figure out the testable requirements.
Test Planning In this phase, the test strategy is defined. Objective & the scope of the project is
determined.
Test Case Development Here, detailed test cases are defined and developed. The testing
team also prepares the test data for testing.
Test Environment Setup It is a setup of software and hardware for the testing teams to
execute test cases.
Test Execution It is the process of executing the code and comparing the expected and
actual results.
Test Cycle Closure It involves calling out the testing team member meeting & evaluating cycle
completion criteria based on test coverage, quality, cost, time, critical business objectives, and
software.
In case you are facing any challenges with these Manual Testing interview questions, please
comment on your problems in the section below.
Defect – A defect is a variance between expected results and actual results, detected by the
developer after the product goes live. The defect is an error found AFTER the application goes
into production. In simple terms, it refers to several troubles with the software products, with its
external behavior, or with its internal features.
A good test engineer should have a ‘test to break’ attitude, an ability to take the point of view of
the customer
Strong desire for quality and attention to minute details
Tact and diplomacy to maintain a cooperative relationship with developers
Ability to communicate with both technical (developers) and non-technical (customers,
management) people
Prior experience in the software development industry is always a plus
Ability to judge the situations and make important decisions to test high-risk areas of an
application when time is limited
Q23.What is regression testing? When to apply it?
“Testing of a previously tested program to ensure that defects have not been introduced or
uncovered in unchanged areas of the software, as a result of the changes made is called
Regression Testing.”
A regression test is a system-wide test whose main purpose is to ensure that a small change in
one part of the system does not break existing functionality elsewhere in the system. It is
recommended to perform regression testing on the occurrence of the following events:
Integration testing tests the interface between modules of the software application
Involves both functional and non-functional testings like sanity, usability, performance, stress an
load
Only functional testing is performed to check whether the two modules when combined give the
right outcome
If you wish to learn in-depth about Bug Life Cycle then you can refer this article on Software
Testing Tutorial.
Negative Testing
Positive testing determines that your application works as expected. If an error is encountered
during positive testing, the test fails
Negative testing ensures that your application can gracefully handle invalid input or unexpected
user behavior
In this testing, tester always check for an only valid set of values
Testers apply as much creativity as possible and validating the application against invalid data
To write a whole new set of test cases to exercise different parts of the software.
To prepare new test cases and add them to the existing test cases.
Using these methods, it’s possible to find more defects in the area where defect numbers
dropped.
Course Curriculum
Software Testing Fundamentals Course
In case you are facing any challenges with these Manual Testing interview questions, please
comment on your problems in the section below.
Q33. What is black box testing, and what are the various techniques?
Black-Box Testing, also known as specification-based testing, analyses the functionality of a
software/application without knowing much about the internal structure/design of the item. The
purpose of this testing is to check the functionality of the system as a whole to make sure that it
works correctly and meets user demands. Various black-box testing techniques are:
Equivalence Partitioning
Boundary Value Analysis
Decision Table Based Technique
Cause-effect Graphing
Use Case Testing
Q34. What is white box testing, and what are the various techniques?
White-Box Testing also known as structure-based testing, requires a profound knowledge of the
code as it includes testing of some structural part of the application. The purpose of this testing
is to enhance security, check the flow of inputs/outputs through application and to improve
design and usability. Various white-box testing techniques are:
Statement Coverage
Decision Coverage
Condition Coverage
Multiple Condition Coverage
Q35. What are the Experience-based testing techniques?
Experienced-based testing is all about discovery, investigation, and learning. The tester
constantly studies and analyzes the product and accordingly applies his skills, traits, and
experience to develop test strategies and test cases to perform necessary testing. Various
experience-based testing techniques are:
Exploratory Testing
Error Guessing
Q36.What is a top-down and bottom-up approach in testing?
Top-Down – Testing happens from top to bottom. That is, high-level modules are tested first,
and after that low-level modules. Lastly, the low-level modules are incorporated into a high-level
state to guarantee the framework is working as it is expected to.
Bottom-Up – Testing happens from base levels to high-up levels. The lowest level modules are
tested first and afterward high-level state modules. Lastly, the high-level state modules are
coordinated to a low level to guarantee the framework is filling in as it has been proposed to.
Q37. What is the difference between smoke testing and sanity testing?
Features Smoke Testing Sanity Testing
System Builds
Tests are executed on initial builds of software product Tests are done on builds that have
passed smoke tests & rounds of regression tests
Motive of Testing
To measure the stability of the newly created build to face off more rigorous testing To
evaluate rationality & originality of the functionalities of software builds
Subset of?
Shallow & wide approach to include all the major functionalities without going too deep Narrow
& deep approach involving detailed testing of functionalities and features
Performed By?
Dynamic testing includes the process of execution of code and is done at the later stage of the
software development lifecycle. It validates and approves the output with the expected results.
The code error detection and execution of the program is not a concern in this type of testing.
With this, we have completed theory questions. In the next part of this Manual Testing Interview
Questions article, let’s discuss some real-world scenario-based questions.
In case you are facing any challenges with these Manual Testing interview questions, please
comment on your problems in the section below.
Q41. How you test a product if the requirements are yet to freeze?
It’s possible that a requirement stack is not available for a piece of product. It might take serious
effort to determine if an application has significant unexpected functionality, and it would indicate
deeper problems in the software development process. If the functionality isn’t necessary to the
purpose of the application, it should be removed. Else, create a test plan based on the
assumptions made about the product. But make sure you get all assumptions well documented
in the test plan.
Q42. What if an organization is growing so fast that fixed testing processes are impossible?
What to do in such situations?
This is a very common problem in the software industry, especially considering the new
technologies that are being incorporated when developing the product. There is no easy
solution in this situation, you could:
• Hire good and skilled people
• Management should ‘ruthlessly prioritize’ quality issues and maintain focus on the customer
• Everyone in the organization should be clear on what ‘quality’ means to the end-user
Q44. What are the cases when you’ll consider to choose automated testing over manual
testing?
Automated testing can be considered over manual testing during the following situations:
code
documentation
problems
change requests
designs and tools
compilers and libraries
Q46. Is it true that we can do system testing at any stage?
In system testing, all the components of the software are tested as a whole in order to ensure
that the overall product meets the requirements specified. So, no. The system testing must start
only if all units are in place and are working properly. System testing usually happens before the
UAT (User Acceptance Testing).
Q47. What are some best practices that you should follow when writing test cases?
Few guidelines that you need to follow while writing test cases are:
Prioritize which test cases to write based on the project timelines and the risk factors of your
application.
Remember the 80/20 rule. To achieve the best coverage, 20% of your tests should cover 80% of
your application.
Don’t try to test cases in one attempt instead improvise them as you progress.
List down your test cases and classify them based on business scenarios and functionality.
Make sure test cases are modular and test case steps are as granular as possible.
Write test cases in such a way that others can understand them easily & modify if required.
Always keep end-users’ requirements in the back of your mind because ultimately the software
designed is for the customer
Actively use a test management tool to manage stable release cycle.
Monitor your test cases regularly. Write unique test cases and remove irrelevant & duplicate test
cases.
Q48. Why is it that the boundary value analysis provides good test cases?
The reason why boundary value analysis provides good test cases is that usually, a greater
number of errors occur at the boundaries rather than in the center of the input domain for a test.
In boundary value analysis technique test cases are designed to include values at the
boundaries. If the input is within the boundary value, it is considered ‘Positive testing.’ If the
input is outside of the boundary value, it is considered ‘Negative testing.’ It includes maximum,
minimum, inside or outside edge, typical values or error values.
Let’s suppose you are testing for an input box that accepts numbers from ’01 to 10′.
Using the boundary value analysis we can define three classes of test cases:
Course Curriculum
Software Testing Fundamentals Course