QA Interview Questions and Answers
Q1: What is the difference between Quality Assurance and Testing?
A: Quality Assurance is defined as an activity to ensure that an organization is providing the best possible product or service to the customers. Its primary focus is to improve the processes to deliver quality products to the customer.
Testing is the process of identifying bugs and validates whether the software built by the development team satisfies the standards and requirements of the customers or the users or by the organization. Its primary focus is to find the bugs and defects to ensure the quality of the software developed by the team.
At TekSlate, we offer resources that help you in learning various IT courses. We avail both written
material and demo video tutorials. To gain in-depth knowledge and be on par with practical
experience, then explore QA Training.
Q2: Mention different types of Software testing?
A: The different types of software testing are as follows:
- Functional testing
- Performance testing
- Unit testing
- Load and stress testing
- Integration and regression testing
- White box and black box testing
- Smoke testing
- System testing
- Shakeout testing
- Alpha and beta testing
Q3: What are the tools used by a tester while testing?
A: The tools of a tester may vary depending on the projects. The following are the sample tools that are commonly used by a tester.
Q4: List out the roles of Software Quality Assurance Engineer?
A: The roles of a Software Quality Assurance Engineer are
- Software design
- Writing source code
- Reviewing code
- Control of source code
- Configuration management
- Change management
- Program testing
- Integration of testing
- Release management process
Q5: Define Data-driven testing?
A: Data-driven testing is a test automation framework that stores test data in a spreadsheet form. It allows automation engineers to possess a single test script that can execute tests for all the test data within the table. In this framework, the input data can be store in a single or multiple data sources like CSV, XML, Xls, and databases.
Q6: What is the difference between Test Plan and Test strategy?
A: Test plan is a document that defines the scope, approach, objectives, and emphasis on software testing effort. It includes test plan ID, test techniques, test tasks, features to be tested, schedules, features pass or fail criteria, responsibilities, and test deliverables.
Whereas, a Test strategy is a set of guidelines that explains test design and describes how the test needs to perform. It includes objectives and scope, client communication strategy, documentation formats, team reporting structure, test processes, etc.
Q7: What is a Test case?
A: Test case is a set of actions executed to verify a specific feature or functionality of a software application. It contains test data, test steps, precondition, and postcondition developed for a particular test scenario to verify any requirement.
Q8: What is the strategy for Automation Test Plan?
A: The strategy for Automation Test Plan are as follows:
- Record the scenario
- Preparing the Automation Test Plan
- Debugging the script and fixing the issues
- Error handler incorporation
- Script improvement by providing checkpoints and loop constructs
- Rerunning the script
- Report the result
Q9: What are the contents of the test plan and test cases?
A: The contents of the test plan and test case are as follows:
- The environment
- Risk factors
- Testing the frame
- Testing objectives
- Testing scope
- Reason for testing
- The criteria for entrance and exit
Q10: What are Bug leakage and Bug release?
A: Bug leakage happens when a current bug doesn't found during testing. This bug already existed in the early stages of the development of an application.
Whereas, Bug release is that releasing the software even if it has a bug. These bugs are usually not that dangerous, and they do not have much impact on software.
Q11: What are the steps involved in the Bug cycle?
A: The steps involved in the Bug cycle are as follows:
- Once a tester identifies a bug, then it is sent to the development manager as an open status.
- If the identified bug is a valid defect, then the development team will fix the bug.
- If the identified bug is not a valid defect, then the error will be ignored and marked as rejected.
- Verifying the scope and if the bug is not in a part of the current release, then it will be postponed.
- The tester set as a duplicate status whenever the bug raise before the testing process
- When the bug is sent to developers to fix, it will set as an In-progress status.
- Once the developers fix the bug, the status will change to Fixed at the end; the tester will close the status if it passes the entire test.
Q12: What are the challenges of automation testing that QA faces while testing?
A: The challenges of automation testing are as follows:
- Reusability of Automation script
- Automating complex test case
- Mastering the automation tool
- The adaptability of the test case for automation
Q13: Define Agile testing? And what is the importance of Agile testing?
A: Agile testing is a test practice that observes the rules and methodologies of agile software development. Agile testing can begin at the start of the project with continuous integration between development and testing. The importance of Agile testing is that the coding and testing both go simultaneously, and the test plan is written and updated for every release.
Q14: Define Load testing, Stress testing, and performance testing?
A: Load testing is a process that simulates user load on the application. It validates how the application performs during normal and high loads. Here the load refers to a large number of users, messages, notifications, data, requests, etc.
Stress testing is a kind of testing that determines the stability and hardness of the system. It is a non-functional testing method that uses an auto-generated simulation model that checks all the situations.
Performance testing is for determining the speed of a computer, device, or network. It validates the performance of the components of a system by providing various parameters in various load scenarios.
Q15: Define Configuration management?
A: Configuration management is a change control process. It allows software testers to manage their testware and test outputs using the same configuration mechanisms. It helps in managing and controlling the versions of software and hardware configurations.
Q16: what are different artefacts that prefer to write a test case?
A: The various artefacts that prefer to write the test case are as follows:
- Functional requirement specification
- Use cases
- User stories
- Acceptance criteria
- Requirement understanding document
- UAT test cases
Q17: List out the software quality practices through the software development cycle?
A: The software quality practices include the following:
- Code review
- Comprehensive test cases
- Review the requirements before starting the development phase
- Run a regression cycle
- Include software QA test reports
- Risk-based testing
- Session-based testing
- Form dedicated security and performance testing team
- Simulate customer accounts on production
- Prioritize bug depending on usage
- Perform sanity tests on production
Q18: What is Ad hoc testing?
A: Ad hoc testing is informal testing to break the system. It is an unplanned activity without any test design or test cases to perform the test. It does not follow any structured way of testing and randomly performs tests on any part of the application. The main aim of this testing is to find defects by random checking.
Q19: What is thread testing?
A: The thread testing is a software testing that verifies the key functional capabilities of a specific task. It usually performs at an early stage of the integration testing phase.
Q20: What are the five standard solutions for software development problems?
A: The five standard solutions for software development problems are as follows:
- Setting up the requirements of software must be complete, clear and agreed by all.
- Preparing the realistic schedule for planning, designing, testing, bug fixing, and re-testing
- Adequate testing which means start the process of testing immediately after one or more module development
- Use rapid prototype during the design phase so that it becomes easy for the user to find their requirements.
- Use of group communication tools
Q21: What are the different verification techniques?
A: Verification techniques are static and are of three methods:
- Review: Review is a method that test/code cases are examined by the individual other than the author who has produced it. It is one of the easy and the best ways to ensure quality.
- Inspection: This is a professional and disciplined way to examine the defects in the test artefacts. It has various roles as follows:
- Moderator: facilitates the entire inspection meeting
- Recorder: Records the minutes of the meeting, defects occurred, and other essential points discussed
- Reader: Read out the document and also leads the entire inspection meeting
- Producer: The author ultimately responsible for updating their document as per the comments
- Reviewer: All the team members can be considered as a reviewer by some group of experts is the project demands
- Walkthrough: This is the process in which the author of the document reads the content and gets the feedback.
Q22: Define test metrics?
A: A software testing metric is a quantitative measure that helps to estimate the progress, quality, and health of a software testing effort. There are three types of test metrics. They are as follows:
- Process metric
- Project metric
- Product metric
Q23: What should include in the QA document?
A: QA testing documents should include the following:
- List the number of bugs detected depending on the severity level.
- Inspection reports
- Test plans and test cases
- Bug reports
- Explains each requirement or business function in detail
- User manual
- Prepare separate reports for managers and users.
Q24: What is the difference between regression testing and retesting?
A: Regression testing is a type of software testing that is to verify whether a recent program or code changes has not affected existing features of an application
Whereas Retesting is to verify the test case that failed in the execution is passed after the bugs are verified. It is performed based on the bug fixes.
Q25: List out the various tools required to support testing during the development of the application?
A: The various tools required to support testing during the development of application are as follows:
- Project management tools: Sharepoint
- Automation tools: RFT, WinRunner, and QTP
- Defect management tools: Test Director, Bugzilla
- Test management tools: JIRA, Quality center, etc
Q26: Define Bug triage?
A: Bug triage is a process where each bud is prioritized depending on the severity, risk, frequency, etc. Triage is a term used in software testing to define the severity and priority of new bugs. The main goal of Bug triage is to evaluate, prioritize, and assign the resolution of bugs
Q27: Explain Software testing life cycle?
A: The software testing life cycle is a sequence of specific activities conducted during the testing process to ensure software quality. It involves both verification and validation activities.
Q28: Define Testware?
A: Testware is a test artefact such as test cases, test plans, test data that are required to design and execute a test.
Q29: Define Use case, and what does it include?
A: A use case is a document that describes a particular functionality of the system by a user. It includes a table of contents, cover page, revision history, the flow of events, and specific requirements.
Q30: Mention the tips for determining the severity of a bug?
A: The tips for determining the severity of a bug are as follows:
- Decide the frequency of occurrence: In some cases, the presence of a minor-bug is frequent in the code, and it can be more severe.
- Isolate the defect: Isolating the bug can help to find the severity of the impact.