QA Interview Questions

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

1.

Difference between Verification & Validation


Verification Validation
Product meets the given requirement or not Product meets the customer need or not
Internal process; done by quality control External process; done by customer
department
Not involve executing code Execution of code

2. Black Box & White Box Testing


Black Box Testing
 Specification based technique
 Internal structure & coding knowledge is not required
 Concentration of functionality
White Box Testing

 Structural testing technique


 Internal structure and coding knowledge is required
 Concentration on structure, loops conditions etc.
3. Slack
Messaging app for business that connects people to the information they need.
4. Jira
Used for issue tracking and project management
5. Quality Assurance & Quality Control
Quality Assurance Quality control
Aims to prevent defects Aims to identify and fix defects
Preventive technique Corrective technique
Perform in parallel with project Done only after quality assurance
Performed after final product is ready

6. Boundary value analysis


 Range value checking
 Black box specification based test
 3 classes
o On the boundary
o Below the boundary
o Above the boundary
7. Test Case & Test Scenario
Test case Test scenario
Contains positive test steps, information Significant level documentation which
anticipated outcomes for testing depicts overall functionality to be tested
Focus on both what to test? And How to Only focus on what to test?
test?
Derived from test scenario Derived from SRS
Low level activity High level activity

8. Bug Life Cycle


Bug Life Cycle in software testing is the specific set of states that defect or bug goes
through in its entire life. The purpose of Defect life cycle is to easily coordinate and
communicate current status of defect which changes to various assignees and make the
defect fixing process systematic and efficient.
o New
o Assigned
o Open
o Fixed
o Pending Re-Test
o Re-Test
9. SDLC & STLC
SDLC STLC
Developing good quality software Making the software defects free
SDLC phases are completed before the STLC phases are performed after SDLC
STLC phases phases.
SDLC is mainly related to software STLC is mainly related to software testing
development
Phases of SDLC
o Requirement Analysis
o Software Design
o Software Build
o Testing
o Deployment
o Maintenance
Phases of STLC

o Test planning
o Test case Development
o Test Environment Setup
o Test Execution
o Test Closure
10. Regression Testing & Re-Testing
In other words, regression testing is about searching for defects, whereas retesting is
about fixing specific defects that you’ve already found.
11. Load Testing, Stress Testing, Performance Testing
Load Testing
Testing determines a system behavior under both normal and anticipated peak load
conditions. It is meant to test the system by constantly and steadily increasing the load
on the system until the time it reaches the threshold limit.
Stress Testing
A stress test is used for determining the reliability and stability of all of your web
resources, like websites, applications, and APIs. Stress testing aims to find the breaking
point of a website/application under extremely high load over a period of time.
Performance Testing
Performance testing is a non-functional software testing technique that determines how
the stability, speed, scalability, and responsiveness of an application holds up under a
given workload.
12. Functional & Non-Functional Testing
Functional testing ensures that functions and features of the application work
properly. Non-functional testing examines other aspects of how well the application
works. Functional testing tests the functionality of an app.
13. Sanity Testing
Sanity Testing is a type of software testing that is performed after receiving a software
build. The goal is to determine that the proposed functionality works approximately as
expected.
14. Unit Testing
Unit testing is a software development process in which the smallest testable parts of an
application, called units, are individually and independently scrutinized for proper
operation.
15. Platform Testing
Cross platform testing or multi-platform testing verifies that a website or app functions
as expected across different online platforms – web and mobile.
16. Agile Development
Agile is an iterative approach to project management and software development that
helps teams deliver value to their customers faster and with fewer headaches.
o Meet
o Plan
o Design
o Develop
o Test
o Evaluate
o
There are several Agile frameworks and methodologies, including Scrum, Kanban,
Extreme Programming (XP), and Lean Software Development. Overall, Agile development
enables teams to respond quickly to changing requirements, deliver high-quality
software, and increase customer satisfaction through continuous collaboration and
feedback.

17. Scrum concept

18. Agile Meeting


Agile meetings are hyper-focused ceremonies or discussions where agile teams share
valuable project information, such as customer feedback, project updates, etc. An Agile
ceremony serves one more purpose. It ensures that the entire team is on the same page
and agrees with the Agile or Scrum process.
19. Ad-Hoc Testing
Software testing performed without planning and documentation, but can be applied to
early scientific experimental studies.
20. SQL Testing
SQL testing refers to the process of verifying the correctness, performance, and
reliability of SQL (Structured Query Language) queries, scripts, and database operations.
SQL testing is crucial for ensuring that databases and associated applications function as
intended and meet the requirements of stakeholders. Here are some key aspects of SQL
testing:

Syntax Validation: SQL queries and scripts must have correct syntax to execute without
errors. Syntax validation ensures that SQL statements are properly structured according
to the rules of the SQL language.

Data Integrity: SQL testing involves verifying the integrity of data stored in databases.
This includes checking constraints, such as primary key, foreign key, unique constraints,
and data types, to ensure that data is accurate and consistent.

Data Manipulation: SQL queries are used to manipulate data in databases, including
operations such as insertion, deletion, updating, and retrieval. Testing data
manipulation operations ensures that they produce the expected results and do not
introduce errors or inconsistencies in the database.

Performance Testing: Performance testing involves evaluating the performance and


efficiency of SQL queries and database operations. This includes measuring query
execution time, identifying bottlenecks, and optimizing queries and database schema
for better performance.
Concurrency and Locking: SQL databases support concurrency control mechanisms to
manage simultaneous access to data by multiple users or processes. SQL testing
includes verifying that concurrency control mechanisms such as locking and transactions
work correctly and do not result in data corruption or inconsistency.

Security Testing: SQL testing also involves evaluating the security of databases and SQL
queries. This includes testing for vulnerabilities such as SQL injection, unauthorized
access, and data leakage, and ensuring that appropriate security measures are in place
to protect sensitive data.
Compatibility Testing: SQL queries and database operations may need to be tested
across different database management systems (DBMS) and versions to ensure
compatibility and portability of SQL code.
SQL testing can be performed manually or automated using testing tools and
frameworks specifically designed for database testing, such as SQLUnit, DBUnit, and
tSQLt. Automated

21. Wireshark

Wireshark is a software tool used for network analysis and troubleshooting. It lets you
capture and inspect the data traveling over a computer network in real-time. Think of it
as a 'packet sniffer' that intercepts and logs network traffic passing through a specific
network interface.

Here's how it works:


Capture Packets: Wireshark captures packets (units of data) flowing through your
computer's network interface. These packets contain information about the source and
destination of the data, as well as the content itself.

Analyze Packets: Once captured, Wireshark displays the packets in a user-friendly


interface, allowing you to analyze them in detail. You can inspect the contents of each
packet, including the protocols used, the data payload, and any errors or anomalies.

Troubleshoot Networks: Wireshark is commonly used by network administrators,


security professionals, and developers to troubleshoot network issues, diagnose
performance problems, and investigate security incidents. For example, you can use
Wireshark to identify network congestion, diagnose connectivity problems, or detect
suspicious activity such as unauthorized access attempts or malware infections.

Filtering and Search: Wireshark offers powerful filtering and search capabilities,
allowing you to focus on specific types of traffic or isolate packets of interest. This helps
streamline the analysis process and makes it easier to pinpoint relevant information
within large capture files.
Protocol Support: Wireshark supports a wide range of network protocols, including
TCP/IP, UDP, HTTP, DNS, DHCP, FTP, and many others. This makes it versatile for
analyzing various types of network traffic, from web browsing and email to file transfers
and VoIP calls.

Overall, Wireshark is a valuable tool for anyone responsible for managing or


troubleshooting computer networks. It provides insight into network behavior, helps
identify problems, and facilitates informed decision-making when it comes to optimizing
network performance and ensuring security.
22. Throttling
Throttling in testing refers to the intentional limitation or restriction of certain
resources, such as network bandwidth, CPU usage, or database connections, to simulate
real-world conditions and assess how a system performs under such constraints.

Network throttling
CPU throttling
Database throttling

23. Refactoring

Refactoring in testing refers to the process of restructuring and improving the design of
test cases and test suites without altering their functionality. Just as refactoring in
software development involves optimizing code to enhance readability, maintainability,
and performance, refactoring in testing focuses on enhancing the efficiency and
effectiveness of test artifacts.
Improving Test Structure
Simplifying Test Logic
Enhancing Test Coverage
Optimizing Test Performance

You might also like