Sep 15, 2022
Manual Testing Interview Questions (Advance Level)
In the software development lifecycle, software testing is an essential activity to verify that the software is functional and adequate. Thus, manual testing is essential to the entire software development process.
If you are preparing for a manual or automation testing interview for advanced/intermediate level then please keep on reading. We have prepared a collection of questions to be asked in the interview which can help you with the preparation.
1. What is Test Closure?
Test Closure is a document that summarises all of the tests performed throughout the software development life cycle, as well as a full analysis of the defects fixed and errors discovered. The total number of experiments, the total number of experiments executed, the total number of flaws detected, the total number of defects settled, the total number of bugs not settled, the total number of bugs rejected, and so on are all included in this memo.
2..What is Test Harness?
A test harness is software and test data used to put a programme unit to the test by running it under various conditions such as stress, load, and data-driven data while monitoring its behaviour and outputs.
3. Explain the defect life cycle.
A defect life cycle is a process by which a defect progresses through numerous stages over the course of its existence. The cycle begins when a fault is discovered and concludes when the defect is closed after it has been verified that it will not be recreated.
4. Differentiate between bug leakage and bug release
Bug Leakage - When tested software is pushed into the market and the end-user discovers defects, this is known as bug leakage. These are bugs that the testing team overlooked throughout the testing phase.
Bug Release - When a certain version of software is launched into the market with some known bugs that are expected to be fixed in later versions, this is known as a bug release. These are low-priority issues that are highlighted in the release notes when sharing with end-users.
5. What is a stub?
Many times, when top-down integration testing is performed, lower-level modules are not produced until top-level modules are tested and integrated. Stubs or dummy modules are used in these circumstances to emulate module behaviour by delivering a hard-coded or predicted result based on the input variables.
6. What are the cases when you’ll consider choosing automated testing over manual testing?
Automated testing can be considered over manual testing during the following situations:
When tests require periodic execution
Tests include repetitive steps
Tests need to be executed in a standard runtime environment
When you have less time to complete the testing phase
When there is a lot of code that needs to be repeatedly tested
Reports are required for every execution
7. 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 centre of the input domain for a test.
In the 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:
Test cases with test data exactly as the input boundaries of input: 1 and 10 (in this case)
Values just below the extreme edges of input domains: 0 and 9
Test data with values just above the extreme edges of input domains: 2 and 11
8. What is the average age of a defect in software testing?
Defect age is the time elapsed between the day the tester discovered a defect and the day the developer got it fixed.
While estimating the age of a defect, consider the following points:
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.
9. List the different types of severity.
The criticality of a bug can be low, medium, or high depending on the context.
User interface defects – Low
Boundary-related defects – Medium
Error handling defects – Medium
Calculation defects – High
Misinterpreted data – High
Hardware failures – High
Compatibility issues – High
Control flow defects – High
Load conditions – High
10. Difference between Bug, Defect, and Error.
A slip in coding is indicated as an error. The error spotted by a manual tester becomes a defect. The defect that the development team admits is known as a bug. If a built code misses the requirements, then it is a functional failure.
11. What are functional test cases and non-functional test cases?
Functional testing: It is testing the ‘functionality’ of a software or an application under test. It tests the behaviour of the software under test. Based on the requirement of the client, a document called a software specification or requirement specification is used as a guide to testing the application.
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.
12. 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.
13. Smoke testing
It is a kind of quick test carried out on the application to determine whether the application is testable or not.
14. Adhoc testing
If you test software without following any procedure and documentation it's called Adhoc testing, it's also called informal testing.
15. Regression testing
It is a process of identifying the various feature in the modified built where there is a chance of getting affected and retesting these features
16. What do you know about API Testing?
API is an acronym for Application Programming Interface. It gives users access to public classes, functions, and member variables for calling them from external applications. It lays down a model for components to being interaction with each other.
API testing comprises three parts:
Data-tier (database)
Business logic tier (PHP/J2EE)
Presentation tier (UI)
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 permission to get to the source code but can use the API calls. This testing covers authorization, usability, exploratory, automated, and document validation.
17. SDLC divided into two models
Sequential ->Waterfall model ,V model
Iteration -> RAD (Rapid Application Development), Prototype, Spiral module.
18. Sequential models
These modules are best suited for small applications where all development activities are carried out in sequential order for the entire project.
19. Interactive models
These models are best suitable for big projects, in which a big project will be divided into modules then the application will be implemented module by module.
20. Agile Model
Agile Model project is divided into various sprints
Each sprint contains high-priority requirements
The time period of the sprint is typically 2 to 3 weeks
Daily screening meetings with the team share the status and potential issues.
Each sprint is released to the customer
User for critical applications
21. Q & A testing
Once system Level testing is approved, release the application for user acceptance testing (UAT), Once installed by the customer feedback is obtained for future enhancement and finding defects.
22. Stress testing
Checking the application behaviour under stress conditions, In other words, reducing the system resources and keeping the load constant checking and how the application behaves
23. What are the key elements of a bug report?
An ideal bug report should contain the following key points.
A unique ID.
Defect description – a short description of the bug.
Steps to reproduce – include the detailed test steps to emulate the issue. We should also provide the test data and the time of its occurrence.
Environment – add any system settings that could help in reproducing the issue.
Module/section of the application in which issue has occurred.
Severity.
Screenshots.
Responsible QA – This person is a point of contact in case you want to follow up regarding this issue
24. Is there any difference between Quality Assurance, Quality Control, and Software Testing? What is it?
Quality Assurance (QA): 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 outcomes and adjusts the process to meet the expectation.
Quality Control (QC) is related to the quality of the product. QC not only finds the defects and suggests improvements also. Thus the 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 the developer meets the user requirement. The motive to perform testing is to find the 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. Explain the difference between Smoke testing and Sanity Testing?
The main differences between smoke and sanity testing are as follows.
Whenever there is a new build delivered after bug fixing, it has to pass through sanity testing. However, smoke testing is done to check the major functionalities of the application.
Sanity testing is done either by the tester or the developer. However, smoke testing is not necessarily done by a tester or developer.
Smoke tests precede sanity test execution.
Sanity testing touches critical areas of the product to ensure the basics are working fine. However, smoke tests include a set of high priority test cases focussing on a particular functionality.
26. What are the severity and priority of a defect? Explain using an example.
Priority reflects the urgency of the defect from the business point of view. It indicates – How quickly we need to fix the bug?
Severity reflects the impact of the defect on the functionality of the application. Bugs having a critical impact on the functionality require a quick fix.
Here are examples which show the bugs under different priority and severity combinations.
High Priority and Low Severity.
The display of the company logo is not proper on its website.
High Priority and High Severity.
While making an online purchase, if the user sees a message like “Error in order processing, please try again.” at the time of submitting the payment details.
Low Priority and High Severity.
Suppose we have a typical scenario in which the application crashes, but such a scenario has a rare occurrence.
Low Priority and Low Severity.
These are typo errors in the displayed content like “You have registered success”. Instead of “successfully”, “success” is written.
27. What is the role of QA in project development?
QA stands for QUALITY ASSURANCE. QA team assures the quality by monitoring the whole development process. QA tracks the outcomes after adjusting the process to meet the expectations.
Quality Assurance (QA) does many tasks like the following.
Responsible for monitoring the process to be carried out during development.
Plans the processes to follow for the test execution phase.
Prepares the timetable and agrees on the Quality Assurance plan for the product with the customer.
Communicates the QA process to other teams and their members.
Ensures traceability of test cases to requirements.
28. Assume you have a test plan with over 1000 test cases. How would you make sure what should be automated and what to test manually?
In such a situation, I will focus on test case priority and the feasibility of automation for the test case in question.
There can be many other things that can make a difference.
The complicated scenarios are tedious and take a lot of time in manual execution.
The test cases were missed in the past.
The parts of the application that need regression testing.
The test cases are hard to automate.
The features are still under development. (If certain parts of the app are about to be changed, I recommend not to start with automated testing for these cases.)
The test cases that are part of “explorative” testing and assessing the user experience
29. What is a Test strategy?
Test strategy helps to define the testing process that would take place in a software development cycle. It consists of testing tasks, and lets managers and developers know about the issues as and when they get discovered.
It includes the following information.
Introduction,
Resource,
Scope and schedule for test activities,
Required Test tools,
Definition of Test priorities,
Test planning and the types of tests to run.
30. What is Testware?
Testware is the subset of software, which helps in performing the testing of an application.
It is a term given to the combination of Software applications and utilities required for testing a software package.
31. How do you determine which devices and OS versions should we test?
A good candidate would point to app analytics as the best measure, looking for the most used devices for their particular app.
Another answer would be to check the app reviews where people might have complained about specific issues happening on their devices.
32. What are the main elements of a test plan and test cases?
Testing objectives
Testing scope
Testing the frame
The environment
Reason for testing
The criteria for entrance and exit
Deliverables
Risk factors
33. Do you know about bug leakage and bug release?
Bug release is when the software or an application is handed over to the testing team knowing that the defect is present in a release. During this, the priority and severity of the bug are low, as it has to be fixed before the final handover.
Bug leakage is something when the bug is discovered by the end users or customers and missed by the testing team to detect while testing the software.
34. To what extent should developers do their testing or do you believe testing is the responsibility of the QA team?
The answer to this question depends on the business environment in your work. In today’s emerging test scenario, it is also the developer’s responsibility to perform at least some of his code testing. Though it is not expected that he will have the capacity or that his focus should be to run through large test plans or test on a large stack of devices. However, without the responsibility to review and test his code, a sense of ownership will not develop.
We believe that results will improve if all parties have access to test cases and can run and access them regularly to verify if the latest changes brought any regression.
35. What are the roles and responsibilities of a software quality assurance engineer?
A software quality assurance engineer has to perform the following tasks:
Understanding of software design
Knowledge of source code
Code review
Version control
Program testing
Integration testing
Release process
36. Who performs Acceptance testing?
Internal Acceptance Testing (Aka Alpha Testing) is done by members of the organization that has produced the software but who are not directly involved in the project (Development or Testing). Commonly, it is the members of Product Management, Pre-Sales, and/or Tech Support.
External Acceptance Testing is performed by the product consumers who are not employees of the organization that developed the software. They can be some technical people from the client side or the actual end user.
37. What is the scope of Web Testing?
Web testing is the name given to Software Testing that focuses on testing web-based applications.
Before going to the production environment, the test team performs exhaustive testing of the web applications. This helps to uncover different issues in the application like a functional discrepancy, web application security, web service testing, problems during integration, environmental issues, and its ability to handle the user load. These issues if remain uncovered may get exposed to the public. Thus efforts are made in this stage of testing to find out the possible bugs.
38. What are the most common issues seen in web testing?
The following issue may crop up when you do web testing.
Functional Issues.
Problems that occur while navigating an application.
Usability issues like broken links, form fields missing default focus, tab key not working and all keyboard shortcuts not fully functional.
Cosmetic and GUI issues.
Performance issues – How much time it takes to display the page to the user?
Load – How much load an application can handle at any point in time.
Stress – Load that causes an application to crash.
The flows of data – Storing of the information entered by the user in the correct format.
Proper static information is not displayed along with text fields to enter data.
39. List down the key web application testing techniques?
Following is the list of standard testing techniques that we apply to test any web application.
Functional Testing – includes link testing, form validation, search operations, and navigation testing.
Security Testing – includes authorization check for secure pages, verifying access control and the user making direct entry to the internal page or redirecting to the login page, checking if the session expires after it remains idle for a pre-defined time and testing virus attacks.
Database Testing – includes verifying data integrity on creating, updating or deleting data in the database, obtaining a correct result on executing heavy queries, retrieving data from the database and representing on the web pages correctly.
Performance Testing – Check response times of application under different speeds of connections, verify if the site handles many simultaneous user requests at the same time, check how the site handles large input data from users and check how the site pulls through if a crash occurs due to peak load.
Usability Testing – includes navigation testing to verify that the Menus, Links or buttons on web pages move to correct pages, and content testing to identify all the spelling and grammatical errors present on the page.
Compatibility Testing – includes verification of OS compatibility, browser compatibility, and mobile browsing.
Interface Testing – verifies that communication towards all three servers – The Web, Application, and Database Server is working fine. Check if any request interrupts in-between then how the application is responding. Handle any error from the web or database server to the application server and display the correct error message to the user.
40. List the main differences between client-server, the web and desktop applications.
Desktop application.
The application runs in single memory with Front-end and Back-end in one place.
It has a single user only.
Client/Server application.
The application runs on two or more machines.
It is menu-driven.
Works in connected mode ( that means connection exists until logout).
It has a limited number of users.
It has fewer network issues as compared to the web app.
Web application.
The application runs on two or more machines.
It is URL-driven.
It uses a web browser as the client interface.
Works in disconnected mode (stateless).
It has an unlimited number of users.
It has many issues like hardware compatibility, browser compatibility, version compatibility, security issues, and performance issues.
41. Functionality verification for testing the web application
A- Testing Links which include.
i. Internal Links.
ii. External Links.
iii. Mail Links.
iv. Broken Links.
B- Form validation includes.
i. Field validation.
ii. Display error message for wrong input.
iii. Verification of optional and mandatory fields.
C- Database.
i. Testing the database integrity.
D- Cookies.
i. Testing will be done on the client system side, on the temporary Internet files.
42. Performance verification on web testing applications.
Performance testing can be applied to understand the website’s scalability or to benchmark the performance in the environment of third-party products such as servers and middleware for potential purchase.
A- Connection Speed.
Testing was done on various networks like Dial-up and ISDN.
B- Load.
i. A Huge number of users accessing the application at the same time.
ii. Check for peak loads and how the system behaves.
iii. A Large amount of data accessed by a user.
C- Stress.
i. Apply continuous load on the system.
ii. Verify the performance of memory, CPU, and file handling.
43. What is the Security Testing involved?
Security testing involves the following.
i. Network Scanning.
ii. Vulnerability Scanning.
iii. Password Cracking.
iv. Log Review.
v. Integrity Checkers.
vi. Virus Detection.
44. What is the difference between a static and dynamic website?
The main differences between Static and Dynamic websites are as follows.
A Static website contains web pages with fixed content whereas, in Dynamic website content of the web page changes with respect to time.
It’s not difficult to build a static website as you don’t require any database design. But developing a dynamic website requires good programming resources and database knowledge.
A static website doesn’t support user communication as it displays the same information to each one of them. Whereas, in the case of dynamic websites, users may communicate with each other
45. Explain Cross Site Scripting?
Cross-Site Scripting is a thread in the dynamic website. It is also known as XSS. It occurs when a web application gathers malicious data from a user.
Data collection happens in a hyperlinked form which contains malicious content within it. It allows the insertion of malicious code into the web page. The web page can be a simple HTML code or a client-side script.
Suppose a user, accidentally clicks on a web page containing the malicious code then that code becomes part of the web request of the user. This request can also execute on the user’s computer and steal confidential information
46. What are the different tools that you use for web testing?
Below is the list of the most popular web testing tools available nowadays. And we are using them frequently to run web tests.
JMeter (mainly load and performance testing tool) – It is a Java desktop application which is useful to create the load test environment. It measures the performance of the application during the load test. And it is capable of testing the performance of both static and dynamic websites.
Selenium (Web app testing tool ) – It is a framework for automated testing of web applications. It’s not just a single tool but a suite of software each catering to different testing needs. Its components include Selenium IDE, Selenium Remote Control, Selenium Webdriver, and Selenium Grid to examine and evaluate the web application. Nowadays, Selenium RC and Webdriver have merged into Selenium 2.
47. Do you know about the tools used for analyzing HTTP traffic?
Yes, we often need to track the HTTP requests that flow from the browser to the downstream web server. Also, by probing the network traffic, we can get to the details of each request/response and cross verify.
Next, many tools are available in the market for monitoring Web traffic. I can name some of them which are open source and frequently used.
Wireshark – It’s to check all data that passes through the network.
Fiddler – It is more useful for analyzing the HTTP/s-only traffic.
Live HTTP Headers – It’s a Firefox add-on which is helpful for previewing the HTTP headers.
FireBug – It’s the most popular Firefox plugin which can monitor AJAX transactions. Though, an essential feature is to fetch the Web element locators.
BrowserMob Proxy – It adds additional functionality to Selenium Webdriver for running automated tests.
48. What is the difference between High level and Low-Level test cases?
High-level test cases cover the core functionality of a product like standard business flows.
Low-level test cases are those related to the user interface (UI) in the application.
49. What is a Business Requirements Document (BRD)?
BRD provides a complete business solution for a project, including the documentation of customer needs and expectations.
BRD fulfils the following objectives.
Gain agreement with stakeholders.
Provide clarity on the business requirements.
Describe the solution that meets the customer/business needs.
Determine the input for the next phase of the project.
50. What is globalization testing?
Globalization testing concentrates on detecting the potential problems in the product design that could spoil globalization. It certifies that the code can handle the desired international support without breaking any functionality. And also, it ensures that there would be no data loss and display problems.
Please note that these top 50 questions are only meant to be used as guidance. We recommend that along with being thorough with the subject, in theory, you are also aware of the latest developments and key trends in the area.