1) What is the difference between the QA and software testing?
The role of QA (Quality Assurance) is to monitor the quality of the “process” used to
produce the software. While the software testing, is the process of ensuring the
functionality of final product meets the user’s requirement.
2) What are the automation challenges that SQA (Software Quality Assurance) team faces while
testing?
Mastering the automation tool
Reusability of Automation script
Adaptability of test case for automation
Automating complex test cases.
3) List out the roles of Software Quality Assurance engineer?
A software quality assurance engineer tasks may include following things amongst
others
Writing source code
Software design
Control of source code
Reviewing code
Change management
Configuration management
Integration of software
Program testing
Release management process
4) List out the software quality practices through the software development cycle?
Software quality practices includes
Review the requirements before starting the development phase
Code Review
Write comprehensive test cases
Session based testing
Risk based testing
Prioritize bug based on usage
Form a dedicated security and performance testing team
Run a regression cycle
Perform sanity tests on production
Simulate customer accounts on production
Include software QA Test Reports
5) Explain what is the rule of a “Test Driven Development”?
The rule of a Test Driven Development is to prepare test cases before writing the
actual code. Which means you are actually be writing code for the tests before you
write code for the application.
6) Mention what are the types of documents in SQA?
The types of documents in SQA are
Requirement Document
Test Metrics
Test cases and Test plan
Task distribution flow chart
Transaction Mix
User profiles
Test log
Test incident report
Test summary report
7) Explain what should your QA documents include?
QA testing document should include
List the number of defects detected as per severity level
Explain each requirement or business function in detail
Inspection reports
Configurations
Test plans and test cases
Bug reports
User manuals
Prepare separate reports for managers and users
8) Explain what is MR and what information does MR consists of?
MR stands for Modification Request also referred as Defect report. It is written for
reporting errors/problems/suggestions in the software.
9) What should the Software QA document include?
Software QA document should include
Specifications
Designs
Business rules
Configurations
Code changes
Test plans
Test cases
Bug reports
User manuals, etc
10) Mention how validation activities should be conducted?
Validation activities should be conducted by following techniques
Hire third party independent verification and validation
Assign internal staff members that are not involved in validation and
verification activities
Independent evaluation
Prioritize bug based on usage
Form a dedicated security and performance testing team
Run a regression cycle
Perform sanity tests on production
Simulate customer accounts on production
Include software QA Test Reports
11) What is SDLC?
SDLC (Software Development Life Cycle) is a systematic process for developing
software to ensure the quality and correctness of the software built. It is a short
form of the Software Development Life Cycle process that aims to produce high-
quality software which meets customer expectations.
The development should be complete in the pre-defined time frame and cost. This
life cycle consists of a detailed plan which explains how to plan, build, and
maintain specific software.
12) What are the best practices for writing test cases?
Write test cases from the end user’s perspective:
Write test steps simply and easily so that anyone can follow them easily
Make the test cases reusable
Set the given priority
You should describe the test case, test data, expected results, preconditions,
and postconditions.
Write invalid test cases apart from valid test cases
Follow all the proper naming conventions
Review the test cases and update them if necessary.
13) What does the test strategy include?
The test strategy includes an introduction, resource, scope and schedule for test
activities, test tools, test priorities, test planning and the types of test that has to
be performed.
14) What is Testware?
Testware is test artifacts like test cases, test data, test plans needed to design and
execute a test.
15) What is the difference between build and release?
Build: It is a number given to Installable software that is given to the testing team
by the development team.
Release: It is a number given to Installable software that is handed over to the
customer by the tester or developer.
16) Mention the different types of software testing?
Unit testing
Integration testing and regression testing
Shakeout testing
Smoke testing
Functional testing
Performance testing
White box and Black box testing
Alpha and Beta testing
Load testing and stress testing
System testing
17) What are the contents of test plans and test cases?
Testing objectives
Testing scope
Testing the frame
The environment
Reason for testing
The criteria for entrance and exit
Deliverables
Risk factors
18) What are important points you need to remember while considering while writing Test Cases?
Here are few vital points that you should be considered while writing Test Cases:
Before beginning to write the test cases, you must clearly understand the
client’s needs.
You should include every requirement in the form of test cases, and nothing
should be left out.
All functional and non-functional requirements should include a UI interface,
and compatibility must be covered.
Test cases should be evaluated continuously to avoid any repetition or
redundancy.
Priority is also very important factor that should be set for test cases while
writing.
Test cases can also be built Sprint so that the tester and the developer help
you analyze the product’s quality based on test case execution.
The structure of test cases must be easily understood and must be written in
simple language.
19) What is Test case?
Test case is a specific condition to check against the Application Under Test. It has
information of test steps, prerequisites, test environment, and outputs.
20) What is configuration management?
It is a process to control and document any changes made during the life of a
project. Release control, Change control and Revision control are the important
aspects of configuration management.
21) What is Functional Testing?
Functional Testing is a software testing method that helps you to validate the
software system against the functional requirements/specifications.
22) What is the purpose of Functional Testing?
The main purpose of Functional tests is to test each function of the software
application by offering appropriate input and verifying the output against the
Functional requirements.
23) What are the important steps that are covered in Functional Testing?
Functional Testing is done by following steps:
Step 1) Requirements specified by the user or organization are studied, then clear
all the doubts and queries.
Step 2) Based on the specified requirements, test cases are designed by keeping in
mind all the test scenarios that must be covered for all test cases.
Step 3) Identify all test data required to check the system’s functionality and
determine the input.
Step 4) Determine the expected output based on the input values and
functionality.
Step 5) After this tester execute all test cases to check whether they are performing
well or not
Step 6) Compare the outcome with the expected output and determine the
system’s defect rate and accuracy.
24) What is the difference between functional and non-functional testing?
Functional Non-functional testing
Functional testing is performed before non-functional Non-functional testing is always perform
testing. functional testing.
It is based on customers’ requirements. It is mainly focuses on customers’ expec
It helps to validate the behavior of the application. It helps to validate the performance of th
It describes what the product does. It describes how the product works.
25) What are the different Test Levels?
There are four test levels:
Integration testing: Integration Testing is defined as a software testing
method where software modules are integrated logically and tested as one
group.
System testing: System Testing is a level of testing which validates the
complete and fully integrated software product.
Acceptance testing: Acceptance Testing (UAT) is a type of testing performed
by the end-user or the client to verify/accept the software system before
moving the software application to the production environment.
Unit/component/program/module testing: It uses for testing all the
components and modules under test
26) When to Do Smoke Testing?
Smoke is a testing method performed on the system after receiving the build. This
type of testing method checks for the critical path and not the functionality to
ensure that the build is accepted for further testing or it should be rejected in case
of a broken system. Smoke Testing also checks the system’s critical path, without
which the application is blocked.
27) Why do we need to conduct end-to-end Testing?
End-to-end testing is a method that allows you to execute tests that cover all the
possible flow of the testing application from start to finish basis. This software
testing approach helps you to discover software dependencies and assert that the
correct input is passed between different software modules and sub-systems.
28) What do you understand by Sanity testing?
Sanity testing is conducted after receiving the build to check the new
functionality/defects that need to be fixed. In this type of testing, the goal is to
check the functionality, determine whether the bug is fixed, and test the effect of
the fixed bug on the application under Test.
29) What is Integration testing?
Integration testing is a software testing method that combines and tests individual
application components. It is generally performed after unit and functional
Testing.
30) What is the meaning of End-To-End Testing?
End To End testing is a method of testing an application that helps you to ensure
whether it is acting as expected to be working. That should be used to test the
application flow from the start to the end.
This testing method aims to examine the entire system’s flow. It also confirms that
the data integrity is maintained between the different system components and the
systems.
31) What is Verification and Validation in Software Testing?
Verification: It is a static analysis technique. In this method, Testing is done
without executing the code. Examples Reviews, Inspection, and
walkthrough.
Validation: It is a dynamic analysis method where Testing is conducted by
executing the code. Examples of Functional and non-functional testing
techniques.
32) How is validation different from verification?
erification Validation
evaluates whether the software meets the It evaluates whether the specification captures the
pecification or not. customer’s needs or not.
erification is a type of static Testing. Validation is a type of dynamic Testing.
does not need you to execute the code. It requires code execution.
33) What are the various methods of Testing?
Three methods for software testing are:
Black-box Testing: Black box testing technique is based solely on
requirements and specifications. This strategy requires no knowledge of
internal paths, structures, or the software being tested.
White box testing is a testing method based on internal paths, code
structures, and the software being tested.
34) Explain what is the difference between Regression testing and Retesting?
Retesting is carried out to check the defects fixes, while regression testing is
performed to check whether the defect fix have any impact on other functionality.
35) What is Non-functional Testing?
Non-functional testing is a software testing approach to checking non-functional
aspects like performance, usability, and reliability of a software application. It is
mainly designed to test the readiness of a system according to nonfunctional
parameters, which are never addressed by functional Testing.
36) What are the advantages of Manual Testing?
Here are the advantages of using the manual testing method:
It is a method when compared to automated Testing
Analysis of the product from the point of view of the end-user is possible
only with manual Testing
You can do GUI testing more accurately with the help of manual Testing, as
visual accessibility and preferences are difficult to automate
Manual testing is easy to learn for new people who have just entered into
Testing
It is suitable for short-term projects when test scripts are not going to be
repeated and reused
It is best suited when the project is at the early development stages
37) What is RTM?
Requirement Traceability Matrix is a full form of RTM. It is a tool that helps the
tester helps you to keep track of requirement coverage over the testing process.
Once the requirement document is received. It is created based on the
requirements and maintained until the specific system or application is released.
38) Explain what is traceability matrix?
A test matrix is used to map test scripts to requirements.
39) What is the use of a Traceability Matrix?
Traceability matrix shows the relationship between test cases and requirements
with the help of one document.
40) What are the significant differences between Test Matrix and Traceability Matrix?
Here are the significant differences between Test Matrix and Traceability Matrix:
Test Matrix: The test matrix helps you to capture actual quality, effort, the
plan, resources, and time needed to capture all phases of software testing
Traceability Matrix: This Matrix involves mapping between test cases and
customer requirements.
41) What are the main components of the defect report format?
Here are the basic components of the defect report format:
Name of the Project
Name of the Module
Defect detected
Defect ID
Name of the Defect
Screenshot of the defect
Severity and Priority status
Defect resolved by and resolved on
42) What is bug leakage and bug release?
Bug release is when 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 bug is low, as bug can be removed before the final handover.
Bug leakage is something, when the bug is discovered by the end users or
customer, and not detected by the testing team while testing the software.
43) Explain what is Bug triage?
A bug triage is a process to
Ensure bug report completeness
Assign and analyze the bug
Assigning bug to proper bug owner
Adjust bug severity properly
Set appropriate bug priority
44) What is Bug/Defect Life Cycle?
The bug life cycle is also called the Defect life cycle. In the Software Development
process, every bug has a life cycle. The bug needs to go through the life cycle to be
closed. The life cycle of a bug depends on the tools (QC, JIRA, etc.) and the
organizational process used.
45) What is Test Closure?
It is a document that summarizes all the tests conducted during the SDLC
(Software development life cycle). It offers a detailed analysis of the removed bugs
and errors found.
Test Clouse also contains the aggregate no. of experiments, total numbers of
experiments executed, add numbers of bugs that are not settled, the total number
of bugs rejected, etc.
46) What is a Bug report?
In the software testing process, the software tester records their finding,
observations, findings, and other helpful information to the developers or the
management. This data is part of the test record known as a bug report.
Bug report provides the following advantages:
Understand the problem
Steps to reproduce this problem
The environment and the specific condition under the Test happen
The resolution if/ and when the developers fix the problem
47) Explain the steps for Bug Cycle?
Once the bug is identified by the tester, it is assigned to the development
manager in open status
If the bug is a valid defect the development team will fix it.
If it is not a valid defect, the defect will be ignored and marked as rejected
The next step will be to check whether it is in scope. If the bug is not the part
of the current release then the defects are postponed
If the defect or bug is raised earlier then the tester will assign a DUPLICATE
status
When bug is assigned to developer to fix, it will be given a IN-PROGRESS
status
Once the defect is repaired, the status will change to FIXED at the end the
tester will give CLOSED status if it passes the final test.
48) What is Agile testing and what is the importance of Agile testing?
Agile testing is software testing, is testing using Agile Methodology. The importance
of this testing is that, unlike normal testing process, this testing does not wait for
the development team to complete the coding first and then doing testing. The
coding and testing both goes simultaneously. It requires continuous customer
interaction.
49) What is the Difference Between SDLC and STLC?
Here are some differences between SDLC and STLC
SDLC STLC
The objective of SDLC life cycle is to complete the
successful development of the software, including The only objective of the STLC phase is
Testing and other phases.
In STLC, the QA team analyzes requirem
In SDLC, the BA(Business Analyst) gathers the
a test plan and conduct functional and
requirements and create Development Plan
documents.
In this life cycle, the development team creates the high In this life cycle, the test analyst creates
and low-level design plans Integration Test Plan
The actual code is developed, and actual work takes The software testing team prepares the
place as per the design documents. environment and executes them