0% found this document useful (0 votes)
60 views2 pages

Key Software Testing Terminologies

Regression testing involves retesting modified software to ensure changes did not negatively impact existing functionality. There are different types including unit, regional, and full regression testing. Retesting checks if bugs identified earlier have been fixed. Smoke testing checks if a new build is stable enough for further testing. Sanity testing checks basic functionality before release. Exploratory testing involves exploring an application to understand functionality and identify test scenarios without a preexisting plan.

Uploaded by

pickncarts
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views2 pages

Key Software Testing Terminologies

Regression testing involves retesting modified software to ensure changes did not negatively impact existing functionality. There are different types including unit, regional, and full regression testing. Retesting checks if bugs identified earlier have been fixed. Smoke testing checks if a new build is stable enough for further testing. Sanity testing checks basic functionality before release. Exploratory testing involves exploring an application to understand functionality and identify test scenarios without a preexisting plan.

Uploaded by

pickncarts
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Software Testing Terminology:

 Regression Testing:
In this type of testing tester tests the application having multiple
modules and finds the bugs and report these bugs to the developer. New build came
again and the tester test the new modules again to check the bug is fixed or not.
Testing conduct on the modified build to make sure that there will not be impact on the
existing functionality because of changes like adding deletion modification features

Types of regression testing


1: Unit Regression Testing:
Testing the changes or modification done by the developer.
2: Regional Regression Testing:
What are the changes done by the developer we also test
the impacted module during testing. Impact analysis meeting conducted to identify
impacted modules with QA/QC
3: Full Regression Testing:
Testing the main feature and the remaining part of the
application. Developer has done changes in many modules instead of identifying
impacted modules we perform one round of full regression.

 Retesting:
whenever the developer fixed the bug tester will test the bug is fixed or not. It
is a fixed process

It is a continuous process.
 Smoke Testing:
Basic functionality test we received from the development team
is testable or not.
It is performed by the tester an d developer
Build may be stable or not
Basic testing
It is done when the new build comes.
 Sanity Testing:
Check the basic functionality before release of the application.
It is performed on the stable version
Regression testing
It is done when the application is ready to release.
 Exploratory Testing:
We have to explore the application understand the functionality and
have to test it.
Understand the application
Identify all possible scenarios
Document it we use them for testing.
Drawbacks
We might understand any feature as a bug and any bug as a feature.
Time consuming
 Adhoc testing:
We test the application randomly on the previous experience with any
test case and any business document. it is unplanned. Informal and to break to
break the application.
 Monkey/Gorilla Testing:
Randomly testing without knowing the functionality of
application. Suitable for gaming.
 Positive and Negative Testing:
Positive testing is testing by providing the valid inputs
whether the negative testing is the testing by providing invalid inputs.
Positive Test-case Testing
Negative Test-case Testing
 End to End Testing:
End to end testing to check the functionalities of the application
check all the modules and integrate them.
 Globalization and localization testing:
Globalization testing:
The application is developed for the world it is also called as
universal application supports all languages. For example, Facebook google etc.
Localization testing:
The application is designed for the specific areas or the region.

Common questions

Powered by AI

Regression testing aims to verify that new development changes have not adversely affected the existing functionality of an application, focusing on a broader scope which can include unaffected parts of the application. Retesting, on the other hand, is more focused on confirming that specific bugs reported earlier have been fixed and does not involve checking previously functioning parts of the system. Retesting is more about validation of bug fixes, while regression is about ensuring comprehensive application stability .

Adhoc and monkey testing methods, due to their unstructured and random approach, can be highly effective in uncovering defects that might be missed by structured testing methodologies. These methods rely on unpredictability and intuition based on the tester’s prior experience with the software and similar applications. By testing in ways that formal test cases might not cover, adhoc testing can identify unexpected behaviors and edge cases. Monkey testing, though random, can reveal errors in software behavior when given unplanned user inputs. Both methods simulate real-world 'chaos' conditions that structured testing might not replicate, identifying edge cases and hidden bugs .

Relying solely on smoke testing can be limiting because smoke tests only cover the most critical functionalities and do not assess the software's overall stability or quality. They are typically shallow, designed to quickly verify that the basic elements of a build are functioning, such as checking for launch without failures or any show-stopping issues. Smoke testing doesn’t delve into deeper functional details or performance aspects, meaning issues in complex workflows or interaction between modules might remain undetected. Thus, while useful for initial validation, additional testing (regression, functional, performance) is required for comprehensive assurance .

Conducting comprehensive full regression testing for every build can introduce several drawbacks. Firstly, it is resource-intensive, consuming significant time and effort compared to regional regression testing which focuses on testing just the impacted modules. This can delay release timelines particularly in agile environments with frequent builds. Furthermore, the exhaustive nature of full regression testing may require extensive test data and automated testing resources to be effective; without these, it can become inefficient. While full testing provides broad assurance of stability, it may pull focus away from targeted testing of more critical or frequently changed areas, thus potentially reducing efficiency for frequent iterative builds .

End-to-end testing plays a critical role in the software testing lifecycle by verifying that the entire application operates correctly, ensuring that all integrated components work together as expected. This type of testing simulates real-world scenarios, allowing the tester to validate interactions between different modules and dependencies. It ensures that data flows correctly from one part of the system to another, covering the entire user workflow from start to finish. By capturing these interactions, end-to-end testing helps uncover integration, data flow, or communication issues that may not be apparent in isolated testing of individual modules .

Positive and negative testing together enhance software robustness by ensuring that the application handles both expected and unexpected user behaviors correctly. Positive testing verifies that the application functions as intended with valid inputs, confirming that specified requirements are met. Negative testing, on the other hand, challenges the application’s ability to handle invalid or unexpected input gracefully without crashing, ensuring that the system is resilient against potential misuses. This comprehensive testing approach helps identify areas where the application might be vulnerable, such as input validation flaws, thereby strengthening its reliability and user friendliness .

Smoke testing and sanity testing serve as complementary functions in the development cycle. Smoke testing is conducted initially to ensure that the most critical functionalities of a new build are working, essentially serving as a method to certify that the build is testable at a basic level. This is crucial during early stages when new builds arrive. After a build is deemed stable, sanity testing is employed to check that specific functionalities related to recent changes work as expected in an already stable version, typically before an application release. The two testing types together ensure that both critical high-level functionalities and specific features are functioning before more in-depth testing or deployment .

Unit regression testing focuses on testing only the changes or modifications that have been made by the developer in isolation, ensuring no new faults are introduced in the specific unit. Regional regression testing extends this by examining the entire impacted module, requiring an impact analysis meeting with QA to identify these areas. Full regression testing, however, involves evaluating the entire application, including the main features and all modules, without just limiting to impacted areas, to ensure that the overall functionality remains unaffected by the changes .

Exploratory testing, while beneficial in allowing testers to understand and evaluate application functionality and identify possible scenarios, may introduce complications due to subjectivity. Testers might misinterpret features as bugs due to misunderstanding the application’s design, or conversely, overlook real bugs by assuming they are intended features. Additionally, the informal and unstructured nature of exploratory testing can make it time-consuming and less systematic, potentially leading to overlooked test paths or undocumented findings .

Globalization testing involves ensuring that an application is usable worldwide, supporting a wide range of languages and regional formats. It requires careful consideration of different character sets, date and time formats, currency, and legal requirements, making it complex and resource-intensive. Localization testing, however, focuses on tailoring the application to specific cultural contexts and geographic regions, emphasizing linguistic adjustments, cultural appropriateness, and local regulations. Each has its challenges: globalization must ensure universal functionality and adaptability, while localization must ensure precise fit and compliance within individual regional frameworks, needing cultural insights and potentially different legal considerations .

You might also like