Testing Concepts and Methodologies
Testing Concepts and Methodologies
Testing Concepts and Methodologies
Functional Testing is a type of software testing that validates the software system
against the functional requirements/specifications. The purpose of Functional tests is to
test each function of the software application, by providing appropriate input, verifying
the output against the Functional requirements.
Functional testing mainly involves black box testing, and it is not concerned about the
source code of the application. This testing checks User Interface, APIs, Database,
Security, Client/Server communication and other functionality of the Application Under
Test. The testing can be done either manually or using automation.
Functional Testing Types
• Unit testing
• Smoke testing
• User Acceptance
• Integration Testing
• Regression testing
• Localization
• Globalization
• Interoperability
Unit Testing
Smoke Testing
The User Acceptance Test (UAT) process is a crucial phase in software development
and implementation. It involves testing a software application or system from the end-
user's perspective to ensure its functionality, usability, and compatibility with real-world
scenarios.
Integration testing
Integration testing is a type of software testing where components of the software are
gradually integrated and then tested as a unified group. Usually, these components are
already working well individually, but they may break when integrated with other
components.
Regression Testing
Regression testing is a crucial aspect of software engineering that ensures the stability
and reliability of a software product. It involves retesting the previously tested
functionalities to verify that recent code changes haven’t adversely affected the
existing features.
By identifying and fixing any regression or unintended bugs, regression testing helps
maintain the overall quality of the software. This process is essential for software
development teams to deliver consistent and high-quality products to their users.
Localization testing
Localization testing involves verifying that the application works correctly in the local
environment, such as the correct translation of the text, the use of appropriate
symbols and characters, and compliance with local regulations and standards
Globalization Testing
Interoperability testing
Interoperability testing is a type of software testing that verifies the compatibility and
communication of different systems, applications, or devices. It ensures that the data
exchange and functionality are consistent and reliable across various platforms and
environments.
Software Testing Life Cycle (STLC) is a sequence of specific activities conducted during
the testing process to ensure software quality goals are met. STLC involves both
verification and validation activities.
STLC has the following different phases, but it is not mandatory to follow all phases.
Phases are dependent on the nature of the software, or the product, time and resources
allocated for the testing and the model of SDLC that is to be followed.
Requirement Analysis − When the SRD is ready and shared with the
stakeholders, the testing team starts high level analysis concerning the AUT
(Application under Test).
Test Case Designing − Develop the test cases based on scope and criteria’s.
What is a Bug/Defect?
So, it is one of the important responsibilities of the tester to find as much as defect
possible to ensure the quality of the product is not affected and the end product is
fulfilling all requirements perfectly for which it has been designed and provide required
services to the end-user. Because as many defects will be identified and resolved then
the software will behave perfectly as per expectation.
What is a Defect Life Cycle?
In the Software Development Process, Defect Life Cycle is the life cycle of a defect or
bug which it goes through covering a specific set of states in its entire life. Mainly bug
life cycle refers to its entire state starting from a new defect detected to the closing off
that defect by the tester. Alternatively, it is also called a Bug Life Cycle
Azure Boards – agile planning, work item tracking, dashboard visualization and
reporting
Update Query
Delete Query
Syntax
DELETE FROM table_name WHERE condition;
Tools Used for Database Testing
Aqua Data Studio
PostgreSQL
DBeaver
Automation Testing
What is automated testing?
Automated testing is a software testing technique that automates the process of
validating the functionality of software and ensures it meets requirements before being
released into production. With automated testing, an organization can run specific
software tests at a faster pace without human testers. Automated testing is best suited
for large or repetitive test cases.