Welcome to the part2 of the Software testing interview series. In this post, we’ve added some more interview questions for manual testers to boost their testing skills. Since most of our readers are from the automation testing background. And probably some of them and you might think that what’s the need to read such posts related to manual testing. But you must understand that neither the testing nor the automation can operate in silos. Instead, they must co-exist and complement each other.
Learning manual testing concepts can come in handy for building a meaningful and result oriented automation. Also, the knowledge you would gain from these will guide you for what to cover and how much to automate. That’s why we tried to bring some of the innovative interview questions for manual testers. It’ll all help us in bridging the gap between both these strategies.
1- Interview Questions for Manual Testers – Part2.
If you haven’t gone through the part-1 of interview questions for manual testers, then please check out from the below link to read that too.
Q:1- What’s the difference between acceptance and accessibility testing?
1.1- Acceptance testing: It enables a user as well as the customer to determine whether to accept a software product. It ensures that the software meets a set of agreed acceptance guidelines.
1.2- Accessibility testing: It certifies that a product is accessible to the people with disabilities like autism, blind, or deaf.
Q:2- What’s the difference between application programming and application binary interface?
2.1- Application programming interface: It’s a set of software calls and routines for the client applications to access desired services.
2.2- Application binary interface: It’s a specification which defines the portability requirements of applications in binary form across different platforms.
Q:3- What’s the difference between verification and validation?
3.1- Verification: It’s a review without actually executing the process like code review or the revision of test cases etc.
3.2- Validation: It’s a process of verifying the product and its features by doing the actual execution.
Q:4- What’s the difference between branch and breadth testing?
4.1- Branch testing is a technique which ensures that all the source code branches would go through validation at least once.
4.2- Breadth testing covers the entire product but tests the features with limited cases.
Q:5- What’s the difference between alpha and beta testing?
5.1- Alpha testing happens in a developer managed environment by the target customers.
5.2- Beta testing is the one which starts after installing the application at the client site.
Q:6- What’s the difference between component and compatibility testing?
6.1- Component testing happens during the development and verifies the individual modules.
6.2- Compatibility testing makes sure that the software can work with other parts of the system like browsers, hardware, and the OS.
Q:7- What do you think the portability testing is?
Porting is the process of re-building an existing application for new platforms. And the process of validating it on those environments is usually known as portability testing.
Q:8- What do you think the bottom-up testing is?
It’s a way to carry out the integration testing where you first test the lowest level components. And later you cover the top level items. You need to keep moving till you get to the top of the hierarchy.
Q:9- List down the different ways of doing black box testing?
Mostly, we use the following five black box testing tricks.
9.1- Top down according to budget
9.2- WBS (Work Breakdown Structure)
9.3- Guess and gut feeling
9.4- Early project data
9.5- TPA (Test Point Analysis)
Q:10- List down the different methods to test a software (in abnormal conditions)?
Usually, we can use any of the below techniques.
10.1- Stress testing
10.2- Security testing
10.3- Recovery testing
10.4- Beta testing
Q:11- What do you think a software testing scope is?
11.1- It brings up a well-defined boundary, which covers all the activities to develop and deliver the software product.
11.2- It clearly defines all the functionalities and artifacts to be delivered as a part of the product.
Q:12- How to estimate the size of a Software product?
There are following two ways to give the estimation of a product.
12.1- Count the lines of delivered code.
12.2- Calculate the delivered function points.
Q:13- What’s the difference between a functional and non-functional requirement?
13.1- A functional requirement: It interprets what the system should do and where should it run.
13.1.2: Business rules
13.1.3: Historical Data
13.1.4: Legal and Regulatory Requirements
13.1.5: External Interfaces.
13.2- A non-functional requirement: It defines how the system or the application should be.
13.2.5: Data Integrity
Q:14- What’s the difference between the defect priority and severity?
The Priority and Severity are the popular defect management terms. These two share the importance of a bug among the team and to fix it.
14.1- The Priority: Describes the bug in terms of a customer.
14.1.1- The priority status is set by the tester to the developer mentioning the time frame to fix a defect. If the high priority is mentioned then the developer has to fix it at the earliest.
14.1.2- The priority status is set based on the customer requirements.
14.2- The Severity: Describes the bug in terms of functionality.
14.2.1- The severity status is used to explain how badly the deviation is affecting the build.
14.2.2- The severity type is defined by the tester based on the written test cases and functionality.
Q:15- What do you think the concurrency testing is?
You can also call it as multi-user testing. It observes the effects of accessing the application, code module or database by different users at the same time. It helps in identifying and measuring the problems in response time, levels of locking and deadlocking in the application.
Load runner is a tool which supports this type of testing. It has a <Vugen> (Virtual User Generator) which adds the number of concurrent users. It also defines how the users need to be added like Gradual Ramp up or Spike Stepped.
Q:16- What’s the difference between a high-level and low-level test case?
16.1- High-level test case covers the major functionality of the application e.g. functionality related test cases, database test cases etc.
16.2- Low-level test case tests the basic features like the User Interface (UI) in the application.
Q:17- What’s the difference between a two-tier architecture and the three-tier architecture?
17.1- In a two-tier architecture, there happen to be two layers like Client and Server. The Client sends a request to the Server and the server responds to the request by fetching the data from it. The problem with the two-tier architecture is the server can’t respond to multiple requests at the same time which may cause data integrity issues.
17.2- In a three-tier architecture, there can be layers like Client, Server, and Database. Here, the Client sends a request to Server, where the Server sends the request to Database for data. Based on that request the Database sends back the data to Server and from the Server, the data is forwarded to the Client.
Q:18- What’s the difference between the Static testing and dynamic testing?
18.1- Static Testing (done in Verification stage)
Static Testing is a White Box testing technique where the developers verify or test their code with the help of checklist to find errors in it, this type of testing is done without running the actually developed application or program. Code Reviews, Inspections, Walkthroughs are mostly done in this stage of testing.
18.2- Dynamic Testing (done in Validation stage)
Dynamic Testing is done by executing the actual application with valid inputs to check the expected output. Examples of Dynamic Testing methodologies are Unit Testing, Integration Testing, System Testing and Acceptance Testing.
18.3- Some differences between Static Testing and Dynamic Testing are as follows.
18.3.1: Static Testing is more cost effective than Dynamic Testing because Static Testing is done in the initial stage.
18.3.2: In terms of Statement Coverage, the Static Testing covers more areas than Dynamic Testing in a shorter time.
18.3.3: Static Testing is done before the code deployment where the Dynamic Testing is done after the code deployment.
18.3.4: Static Testing is done in the Verification stage where the Dynamic Testing is done in the Validation stage.
Q:19- What’s the difference between a bug log and defect tracking?
19.1- Bug Log: It’s a document for the number of defects such as open, closed, reopen or deferred of a particular module.
19.2- Defect Tracking: The process of tracking a defect such as symptoms, whether reproducible or not, priority, severity and status.
Q:20- What are the contents of an effective Bug report?
20.5- Detected By (Name of the Software Tester)
20.6- Assigned To (Name of the Developer of the feature)
20.7- Test Lead (Name)
20.8- Detected in Version
20.9- Closed in Version
20.10- Date Detected
20.11- Expected Date of Closure
20.12- Actual Date of Closure
20.13- Priority (Medium, Low, High, or Urgent)
20.14- Severity (Range => 1 to 5)
20.16- Bug ID
20.18- Test Case Failed (Total no. of test cases which are failing for a Bug)
We feel that it is our duty to present you with new ideas that can help you learn quick and important testing concepts. If you are also aware of something interesting related to testing or automation, then do share it with us.
In the end, let’s listen to a famous quote by Jerry Weinberg.
“A tester is someone who knows that things can be different.”