Black-box Testing and its categories.ppt

karthikaparthasarath 45 views 16 slides Oct 03, 2024
Slide 1
Slide 1 of 16
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16

About This Presentation

software engineering testing strategies, specific to black box testing and its categories


Slide Content

Blackbox testing Software Engineering Dr.M.Karthika Head/Information Technology

introduction Black box testing plays a crucial role in ensuring software functions correctly. Rather than examining the internal code, testers focus on how the software behaves externally, similar to how users would interact with it. This approach helps identify issues or bugs that could impact the software's performance. 03-10-2024 Software Engineering/Black box testing 2

What is Black box testing? Black-box testing is a software testing method where the tester does not need to know the internal workings or implementation details of the software. Instead, the focus is on verifying the system’s functionality based on its specified requirements or expected behavior. Input Black-box Output Black box testing can be used to find the following types of failures1: Incorrect or missing functions, Interface errors, Errors in data structures or external data base access, Behavior or performance errors, and Initialization and termination errors. 03-10-2024 Software Engineering/Black box testing 3

Categories Of Black Box Testing 03-10-2024 Software Engineering/Black box testing 4

Functional Testing Purpose : To verify that the software performs according to its functional requirements. Focus : Ensures that the system behaves as expected when given specific inputs and produces the correct outputs. Functional requirements can be categorized into several types: User Requirements : Describe the tasks users must perform and the information they need. System Requirements : Outline the behavior of the system as a whole and how various components interact. Interface Requirements : Define how the system interacts with other systems, hardware, and users. Example : Testing login functionality, data processing, or form submissions. 03-10-2024 Software Engineering/Black box testing 5

Non-functional Testing Purpose : To evaluate non-functional aspects like performance, usability, reliability, and scalability. Focus : Tests attributes that affect the user experience but are not related to specific functionalities. Non-functional testing is a software testing technique that evaluates the non-functional characteristics of a system. It assesses the non-functional aspects of a software application, determining its readiness based on parameters that functional testing typically does not cover. As functional testing, non-functional testing (often referred to as NFT) focuses on various attributes such as the software's performance, usability, and scalability, rather than its functionality. Example : Testing system load capacity, user interface responsiveness, or security measures. 03-10-2024 Software Engineering/Black box testing 6

Regression Testing Purpose : To ensure that new changes (like bug fixes or feature updates) haven’t broken existing functionality. Focus : Re-running previous test cases to confirm that everything still works after modifications. Regression testing involves testing the modified sections of code and any other areas that may be impacted by these changes to verify that no new errors have been introduced into the software. The term "regression" signifies the reappearance of a bug, and in software development, it ensures that the newly implemented code works seamlessly with the existing codebase. Essentially, regression testing confirms that a new software update does not affect the software's overall functionality. This testing is typically conducted after system maintenance or upgrades. Example : After updating a feature, running tests to verify that previously functioning features remain unaffected. 03-10-2024 Software Engineering/Black box testing 7

Smoke Testing Purpose : To perform quick, basic tests to ensure that the critical functions of the software work. Focus : Verifies that the main features of the application work well enough for further testing to continue. Example : After a new build, testing the application’s core features like login, navigation, and form submission. 03-10-2024 Software Engineering/Black box testing 8

Sanity Testing Purpose : To ensure that a specific set of functionalities or fixes are working after minor changes or bug fixes. Focus : Targets particular areas of the application to verify that updates have not caused new issues. Example : After fixing a bug in the checkout process, testing only the related functionality rather than the entire system. 03-10-2024 Software Engineering/Black box testing 9

User Acceptance Testing (UAT) Purpose : To validate that the system meets business requirements and is ready for end-users. Focus : Involves testing by end-users or clients to ensure the system meets their needs. Example : Before release, allowing users to test if the system meets their expectations for functionality and usability. 03-10-2024 Software Engineering/Black box testing 10

Compatibility Testing Purpose : To ensure that the software works across various environments, such as different browsers, devices, or operating systems. Focus : Verifies that the software performs well across different platforms or configurations. Example : Testing a web application across browsers like Chrome, Firefox, and Safari, or testing a mobile app on Android and iOS. 03-10-2024 Software Engineering/Black box testing 11

Localization Testing Purpose : To check if the software adapts correctly to different languages, cultures, or regional settings. Focus : Ensures that language translation, regional settings, and localization elements work correctly. Example : Testing date formats, currency conversions, and language translations in software for different regions. 03-10-2024 Software Engineering/Black box testing 12

Advantages of Black Box Testing No need for functional knowledge or programming skills to implement the Black Box Testing. It is efficient for larger system. Tests are executed from the user’s or client’s point of view. Test cases are easily reproducible. It is used to find the ambiguity and contradictions in the functional specifications. 03-10-2024 Software Engineering/Black box testing 13

Disadvantages of Black Box Testing Possibility of repeating the same tests while implementing the testing process. Test cases are difficult to implement. It is difficult to execute the test cases because of complex inputs at different stages of testing. Test failure reasons cannot be detected . Programs/ Modules in the application are not tested. Syntax errors of control structures were not revealed. Consumes a huge amount of time, with vast work space. 03-10-2024 Software Engineering/Black box testing 14

Summary A key technique in software testing is called "black box" testing, which focuses on assessing the program's usability from the user's point of view without taking into account its internal operations. This method guarantees that the software satisfies its requirements and specifications by utilizing approaches such as functional testing, regression testing, and non-functional testing. Functionality, performance, and usability concerns can be found with its assistance, which makes it a crucial software development technique. Although Black Box Testing has several drawbacks, like the possibility of repetitive testing and challenges with complicated inputs, it is nevertheless an important tool for producing software that is both high-quality and easy to use. 03-10-2024 Software Engineering/Black box testing 15

Thank you 03-10-2024 Software Engineering/Black box testing 16