Manual Testing - Interview Questions and Answers
Date Published: 05/12/2019
Here are some famous software testing and quality assurance related questions and their answers. There could be more scenario based questions but this list will definitely give you a quick overview of basic concepts.

What is Software Quality?

Measurement of how close is actual software product to the expected (intended) product Customer satisfaction (to who?)

Quality Software: reasonably bug-free, delivered on time and within budget, meets requirements and/or expectations, and is maintainable


What is Software Quality Assurance?

Software QA is the process of monitoring and improving all activities associated with software development, from requirements gathering, design and reviews to coding, testing, and implementation.


What is Software Testing?

Software Testing is the process of analyzing the software in order to detect the differences between existing and required conditions and to evaluate the features of the software.  It involves the entire software development process:

  • monitoring and improving the process
  • making sure that any agreed-upon standards and procedures are followed
  • ensuring that problems are found and dealt with, at the earliest possible stage

The purpose of testing is verification, validation and error detection (in order to find and fix the problems)

  • Verification is checking for conformance and consistency by evaluating the results against pre-specified requirements. (Verification: Are we building the system right?)
  • Validation is the process of checking that what has been specified is what the user actually wanted. (Validation: Are we building the right system?)
  • Error Detection: finding if things happen when they shouldn’t or things don’t happen when they should.

Is it possible to find/fix all the bugs in a software product before it goes to the customers?

Yes, it can be done by proper Test planning, bug tracking, bug reporting, test automation, and release certification, etc.


What is black/white box testing?

Black box software testing is done without access to the source code.

White box testing is done with access to the code. Bugs are reported at the source code level, not behavioral.


Describe a bug?

A mismatch between the actual behavior of a software application and its intended (expected) behavior. We learn about expected behavior from requirements, specifications, and other technical documentation.


What is the use case?

Use cases are used by Business Analysts as a format for specifying system requirements. Each use case represents a completed business operation performed by the user.  From the QA prospective, we would need to execute End-To-End test to make sure the requirement is implemented.

Find more here:

http://searchsoftwarequality.techtarget.com/sDefinition/0,,sid92_gci334062,00.html


What is Negative testing? Positive?

Positive testing aimed at showing software works as intended when the user does what he/she does correct actions.

Negative testing aimed at showing that software handles properly situations in which the user acts not as the user is supposed to act (invalid inputs, unreasonable selections of settings, etc.)


Which type of testing results in the highest number of bugs found?

Negative testing (versus Positive testing of the same type)


What is the software development life cycle?

The software development life cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project, from an initial feasibility study through maintenance of the completed application. 

Read more - http://searchsoftwarequality.techtarget.com/sDefinition/0,,sid92_gci755068,00.html

And more – http://portnov.readyhosting.com/RU/sdlc.html


What is a Test Case?

Set of conditions and/or variables under which a tester will determine if a requirement upon an application is satisfied


What does Test Case include?

When planning for testing the test case:

Test case ID

The purpose (Title, Description) of the test case

Instruction on how to get from the application base state to a verifiable application output or expected result

Expected Result

When executing test cases we need two more columns:

Actual result

PASS/FAIL indication


What is a test plan?

A document that describes the objectives, scope, approach, and focus of a software testing effort.

The process of preparing a test plan is a useful way to think through the efforts needed to validate the acceptability of a software product. The completed document will help people outside the test group understand the 'why' and 'how' of product validation. It should be thorough enough to be useful but not so thorough that no one outside the test group will read it.


What does Test Plan include?

The following are some of the items that might be included in a test plan, depending on the particular project:

  •     Title
  •     Identification of software including version/release numbers
  •     Revision history of the document including authors, dates, approvals
  •     Table of Contents
  •     Purpose of the document, intended audience
  •     The objective of the testing effort
  •     Software product overview
  •     Relevant related document list, such as requirements, design documents, other test plans, etc.
  •     Relevant standards or legal requirements
  •     Traceability requirements
  •     Relevant naming conventions and identifier conventions
  •     Overall software project organization and personnel/contact-info/responsibilities
  •     Test organization and personnel/contact-info/responsibilities
  •     Assumptions and dependencies
  •     Project risk analysis
  •     Testing priorities and focus
  •     Scope and limitations of testing
  •     Test outline - a decomposition of the test approach by test type, feature, functionality, process, system, module, etc. as applicable
  •     Outline of data input equivalence classes, boundary value analysis, error classes
  •     Test environment - hardware, operating systems, other required software, data configurations, interfaces to other systems
  •     Test environment validity analysis - differences between the test and production systems and their impact on test validity.
  •     Test environment setup and configuration issues
  •     Software migration processes
  •     Software CM processes
  •     Test data setup requirements
  •     Database setup requirements
  •     Outline of system-logging/error-logging/other capabilities, and tools such as screen capture software, that will be used to help describe and report bugs
  •     Discussion of any specialized software or hardware tools that will be used by testers to help track the cause or source of bugs
  •     Test automation - justification and overview
  •     Test tools to be used, including versions, patches, etc.
  •     Test script/test code maintenance processes and version control
  •     Problem tracking and resolution - tools and processes
  •     Project test metrics to be used
  •     Reporting requirements and testing deliverables
  •     Software entrance and exit criteria
  •     Initial sanity testing period and criteria
  •     Test suspension and restart criteria
  •     Personnel allocation
  •     Personnel pre-training needs
  •     Test site/location
  •     Outside test organizations to be utilized and their purpose, responsibilities, deliverables, contact persons, and coordination issues
  •     Relevant proprietary, classified, security, and licensing issues
  •     Open issues
  •     Appendix - glossary, acronyms, etc.

Write test cases for a text field?

  • 5 test cases for capacity including 2 for each boundary and one for the class between boundaries
  • 3 test cases for valid/invalid input of letters, digits, special characters
  • One test cases for each allowed special character (email field as an example)
  • Functionality testing if there is any functionality (validation of input as an example, case sensitivity, required field, etc.)

If there are so many settings/options to choose, how to write test cases?

  • Test cases should be developed for all most common potential scenarios
  • They should cover most of the positive input
  • You can use data sample techniques such as boundary value analysis etc.

Beside test case & test plan, what documents are required to write?

  • Check Lists
  • Test matrices
  • Test design specs
  • End-to-end tests
  • Test summary reports
  • Bug reports

Describe risk analysis

Risk analysis means the actions taken to avoid things going wrong on a software development project, things that might negatively impact the scope, quality, timeliness, or cost of a project. This is, of course, a shared responsibility among everyone involved in a project. However, there need to be a 'buck stops here' person who can consider the relevant tradeoffs when decisions are required, and who can ensure that everyone is handling their risk management responsibilities.


How will you write test cases for testing fields LOGIN & PASSWORD, positive and negative testing?

Testing boundary conditions? Why? How?

Boundary value analysis is a methodology for designing test cases that concentrates software testing effort on cases near the limits of valid ranges.

Boundary value analysis is a method which refines equivalence partitioning.  It generates test cases that highlight errors better than equivalence partitioning. The trick is to concentrate software testing efforts at the extreme ends of the equivalence classes.  At those points when input values change from valid to invalid errors are most likely to occur.  As well, boundary value analysis broadens the portions of the business requirement document used to generate tests.

For example, if a valid range of quantity on hand is -9,999 through 9,999, write test cases that include: 

  1. the valid test case  quantity on hand is  -9,999, 
  2. the valid test case  quantity on hand is 9,999, 
  3. the invalid test case  quantity on hand is -10,000  and 
  4. the invalid test case  quantity on hand is   10,000 

What is the difference between a test case and a test plan?

A test plan is the most comprehensive Software Testing document that describes the objectives, scope, approach, and focus of a software testing effort

A test case is the smallest Software Testing document that describes both typical and atypical situation (set of conditions and/or variables) that may occur in the use of an application (under which a tester will determine if a requirement upon an application is satisfied).


Which documents would you refer to when creating Test Cases?

All business and technical documentation available:

  • PRD - Product Requirements Document
  • BRD - Business Requirements Document
  • Functional Specifications
  • Manuals and Help
  • Use Cases
  • Test Design
  • Third-party publications (books, published by independent authors)

What is the Business Requirements Document (BRD)?

BRD is written by Business Analysts. It details the business solution for a project including the documentation of customer needs and expectations.

The most common objectives of the BRD are:

  • To gain agreement with stakeholders 
  • To provide a foundation to communicate to a technology service provider what the solution needs to do to satisfy the customer's and business’ needs 
  • To provide input into the next phase for this project 
  • To describe what not how the customer/business needs will be met by the solution

What are Bug Report components?

What fields do you fill out in a Bug Report?

Describe to me the basic elements you put in a defect/bug report?

  • Report number: Unique number given to the report
  • Application / Module being tested
  • Version & release number
  • Problem Summary / Short Description / Synopsis
  • Steps to reproduce (Detailed Description)
  • Severity (Critical, Serious, Minor, Suggestion)
  • Priority (High, Medium, Low)
  • Environment (Software and/or hardware configuration)
  • Reported by
  • Assigned to
  • Status (Open, Pending, Fixed, Closed, cannot reproduce, etc.)
  • Resolution / Notes
  • Keywords

If you find a bug and the developer says it is as-designed, what can you do? 

  • find an exact requirement, which defines the way it should be designed
  • if there is no specific requirement compare to the same feature implemented in quality applications (ask your manager which applications to compare to)

How do you write a bug report?

  • Rule of WWW - What happened, Where it happened, under which circumstances
  • Write one bug report for each fix to be verified
  • A bug report should be as complete as possible
  • Bug reports are as concise as possible
  • Report a bug immediately, do not postpone
  • Use technical terms, not "people off the street" language

What is the most important part of a bug report?

  • Steps to reproduce
  • Short Description
  • Severity
  • Priority
  • Status

What is the bug life cycle?

The bug should go through the life cycle to be closed. Here are the stages:

  • bug found
  • bug reported
  • bug assigned to the developer
  • bug fixed by the developer
  • fix verified by the tester
  • bug closed

How can a tester be sure that bug was fixed? 

  • execute the steps in the bug report
  • make sure the fixed bug does not result in new bugs in the same area.

Describe the QA Process

QA processes include:

  1. Test Planning Process
  2. Test Development Process
  3. Test Execution Process
  4. Defect Management Process
  5. Test Reporting Process 

What is Unit Testing?

The goal of unit testing is to isolate each part of the program and show that the individual parts (units) are correct.

A unit is the smallest testable part of an application. It may be an individual function or procedure.

Unit testing is provided by developers, not testers.


What is API Testing?

This was not covered in our course, plz read about it online

Testing of an API (Application Programming Interface), which is a collection of software functions and procedures.

API testing is mostly used for testing system software, application software or libraries.

It is a white box testing method.

API testing (done by QA Team) is different from Unit testing (done by developers).


What is Performance Testing?

Performance testing is to determine how fast some aspects of a system perform under a particular workload. It can also serve to validate and verify other quality attributes of the system, such as scalability, reliability and resource usage.


What is Stress Testing?

Stress test puts an emphasis on robustness, availability, and error handling under a heavy load, rather than on what would be considered correct behavior under normal circumstances. The goal may be to ensure the software doesn't crash in conditions of insufficient computational resources (such as memory or disk space), unusually high concurrency, or denial of service attacks.


What is Regression Testing?

Partial retesting of a modified program to make sure that no errors were introduced while making changes to the code (developing new or fixing existing one)


What is an Acceptance Testing?

Acceptance testing is black-box testing performed on software prior to its delivery. Acceptance testing by the system provider is distinguished from acceptance testing by the customer (user acceptance testing - UAT).


What do you prefer: white or black box testing?

Stick to the objective stated in your resume (You will normally apply for black box testing positions)


How do you determine when you have done enough testing?

The testing process comes to the point at which additional tests will not significantly change the quality of the software. No more bugs are found in the system.


Which tools are used to write Test Cases?

  • Test Management Tools such as HP Quality Center, Zephyr, Rational Test Manager
  • Many companies use spreadsheets (Excel) or word processors (Word)

What is Build?

In a programming context, a build is a version of a program. As a rule, a build is a pre-release version and as such is identified by a build number, rather than by a release number. Reiterative (repeated) builds are an important part of the development process. Throughout development, application components are collected and repeatedly compiled for testing purposes.


What is Test Strategy?

A test strategy is an outline that describes the testing portion of the software development cycle. It is created to inform project managers, testers, and developers about some key issues of the testing process.


What does Test Strategy include?

This includes the testing objective, methods of testing new functions, total time and resources required for the project, and the testing environment.


How to test a customer facing software?

With any application that we test, we are trying to see if a certain set of requirements are met by the application or not. But when it comes to a user-facing site, apart from concentrating on functionality, we also have to look into few the usability features, may be performance and security aspects also to a certain extent.

The first level of testing is – Does the site satisfy its functional requirements. Example: if it is a loan management site, we need to look at – are the new customer able to apply for a loan, are the existing customer able to access their loan info, is the interest % applied to the loan amount correct, etc.

The next level of testing is – how easy is it to use the site, do the options make a logical sense and meet the expectations of the user or not. For example, if the user has to be pass 3-4 screens to submit the basic information they are going to be annoyed, so such issues have to be addressed. Another example, after entering username and password, the user might click on the tab- which means the control should go to “Sign in” button, instead if it’s going to cancel, the user is going to be really annoyed and the experience of using the site is going to be compromised. Such issues have to be caught.

Performance testing to the complete extent might not be in scope but simple situations like, how long does the search results take to be displayed and how much time does it take for the system to retrieve a customer info at the peak hour – these are some example of the kind of things we would want to keep an eye on.

Security – for sites where there is a secure login to access the site, the minimum functionality around it has to be tested. For example, if I leave the site idle for more than 10 minutes, is it auto logging out or not. Something as basic as that should be focused on.


How to overcome the challenge of not having input documentation for testing?

IF the detailed standard documentation like BRD and FSD are unavailable, the tester will have to depend on some point of reference.

a) Screenshots

b) A previous version of the application

c) Wireframes …etc (not covered in the course, read about wireframes)

Another factor that helps immensely is to talk to the developers or the business analysts (when available) to get a confirmation on our understanding or clarifications in case of doubts.

When none of these situations work, we can just conceptualize the application based on our previous IT application experience and create the basic set of test scripts. When testing phase comes up, we can set up a portion of test cycle time and do some test case management (make the already created scripts perfect) so we have the doc for the next phases.


Inconsistent bugs – Why onsite can find it but offshore can’t and vice versa – How to handle this situation?

Every bug has to be noted and analyzed – whether it is encountered at onsite or offshore, whether repeatable or not. A real value adds to a tester’s job is when we involve ourselves in the Root Cause Analysis process for a bug rather than simply reporting it.

Some of the ways we can handle this situation are:

#1. All the onsite and offshore team members should follow a guideline that screenshots had to be taken for every error that we encounter – repeatable or not

#2. If there are logs, system files or anything like that, that might help us find any evidence of the issue- we should try to find it

#3. Despite all these steps, if we still can’t tell why and when the problem occurs- we should report it to the developer all the same – with as much information as we can.


Video/audio related testing – What does this include?

How to test an application having video or audio?

Here are the important points to consider:

  • Access levels (restricted or not – password controlled)
  • Different kinds of environments
  • Browser compatibility
  • Screen resolutions
  • Internet connection speeds
  • The specific options on a video – like play, stop, mute, etc.
  • Video by size
  • Response to the videos – comments (limitations on the comment length and number of comments it can take)
  • Video responses to the videos
  • Interface with social networking sites – interoperability
  • Buffering speed
  • Embedding the video

Mobile Application Testing – What does it include briefly?

Mobile App Testing Important Test Scenarios:

  • Check if the app works well with multiple carriers and multiple devices
  • Usability of the features in a mobile screen
  • Testing it in different mobile platforms – like Android and iOS
  • Installations, uninstalling, launching the app with network and without network, testing functionality
  • Network connections –WiFi, 2G, etc.

Logs at  iOS iPhone configuration utility  for Android Monitor.bat can be used for debugging


What is random/monkey testing? When it is used?

Random testing is often known as monkey testing. In such type of testing, data is generated randomly often using a tool or automated mechanism. With this randomly generated input, the system is tested and results are analyzed accordingly. These testing are less reliable; hence it is normally used by the beginners and to see whether the system will hold up under adverse effects.


Database questions

  • How will you delete a table?
  • How will you delete a database?
  • How will you get the list of all the tables, in a database?
  • How will you get the Field Name and Type of a MySql table?
  • How will you see all the contents of a table?
  • How will you see all the data in a field (say, uid), from the table (say, oc_users)?
  • Say you have a table ‘xyz’, which contains several fields including ‘create_time’ and ‘engine’. The field ‘engine’ is populated with two types of data ‘Memory’ and ‘Isam’. How will you get only ‘create_time’ and ‘engine’ from the table where the engine is ‘Isam’?
  • How will you show all the records from table ‘xrt’ where name is ‘tecmint’ and web_address is ‘tecmint.com’
  • You need to know the total number of row entry in a table. How will you achieve it?
  • How could I get distinct entries from a table? DISTINCT KEYWORD
  • How to get the results of a Query sorted in any order? ORDER BY KEYWORD
  • How can I find the total number of records in a table? COUNT
  • What is a GROUP BY?
  • What is the SELECT statement?
    • The SELECT statement lets you select a set of values from a table in a database. The values selected from the database table would depend on the various conditions that are specified in the SQL query.
  • How can you compare a part of the name rather than the entire name?
  • SELECT * FROM people WHERE empname LIKE '%ab%'
    • Would return a recordset with records consisting empname the sequence 'ab' in empname
  • How do you delete a record from a database?
    • Use the DELETE statement to remove records or any particular column values from a database
  • What is the INSERT statement?
    • The INSERT statement lets you insert information into a database.

What's the difference between a primary key and a unique key?

Both primary key and unique enforce uniqueness of the column on which they are defined. But by default primary key creates a clustered index on the column, where are unique creates a nonclustered index by default. Another major difference is that the primary key doesn't allow NULLs, but unique key allows one NULL only.

What is a join and explain different types of joins?

Joins are used in queries to explain how different tables are related. Joins also let you select data from a table depending upon data from another table.

Types of joins: INNER JOINs, OUTER JOINs, CROSS JOINs. OUTER JOINs are further classified as LEFT OUTER JOINS, RIGHT OUTER JOINS and FULL OUTER JOINS.


References:


Keywords: software testing questions and answers, qa interview questions, software testing and quality assurance questions and answers