0% found this document useful (0 votes)
17 views7 pages

IAT 2-To Students

The document outlines various concepts and techniques related to software testing, including definitions of testing, debugging, and key roles within a software development organization. It discusses different testing methodologies, types of testing, and the importance of test cases, as well as specific techniques like boundary value analysis and equivalence class partitioning. Additionally, it highlights the significance of risk-based testing and the role of test engineers in ensuring software quality.

Uploaded by

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

IAT 2-To Students

The document outlines various concepts and techniques related to software testing, including definitions of testing, debugging, and key roles within a software development organization. It discusses different testing methodologies, types of testing, and the importance of test cases, as well as specific techniques like boundary value analysis and equivalence class partitioning. Additionally, it highlights the significance of risk-based testing and the role of test engineers in ensuring software quality.

Uploaded by

pandiyanalex037
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Part A – Questions

1 Differentiate testing and debugging.

2 Define Testing.
Testing is the process of evaluating a software application to identify defects, ensure it
meets requirements, and verify it works as expected. It involves executing the software
under controlled conditions to detect bugs, improve quality, and reduce the risk of failure in
production.
3 List out any of 4 testing axioms.

4 Justify – “Software testing is a risk-based exercise”.


Software testing is a risk-based exercise because it helps identify and mitigate potential
risks that could impact software quality and user satisfaction. Testing efforts are prioritized
based on the likelihood and severity of failure in critical areas. This approach ensures that
the most vulnerable and high-impact components are thoroughly tested to prevent major
issues after release.

5 Mention the role of test engineer in software development organization?


Requirement Analysis, Test Planning, Test Case Design, Test Execution, Defect Reporting,
Regression Testing, Quality Assurance, Continuous Improvement.
6 Distinguish Verification and Validation.

7 Define Debugging.
In software testing, Debugging is the process of identifying, analyzing, and fixing defects
or bugs in software to ensure it works correctly. It involves locating the source of an issue,
understanding why it occurs, correcting the code, and re-testing to verify the fix.
Goal: Find and fix the root cause of a defect.
When it happens: After a failed test or reported issue.
Who does it: Typically done by developers (not testers).

8 Define Test Oracle.


A Test Oracle is a mechanism or source of truth used to determine whether a test has passed
or failed. It provides the expected results for a given test case, allowing testers to compare
actual outcomes against the expected ones.
For example, in a calculator app, the oracle would say 2 + 2 = 4, so if the app returns 4, the
test passes!
9 Differentiate Error, defect and Failure.

10 Define Test case and Test Oracle.


Test Case: A set of conditions, inputs, and expected results used to verify whether a
software feature works correctly. It includes test steps, preconditions, and postconditions.
 Example: Test if the login page accepts valid credentials and redirects to the
dashboard.
Test Oracle: A source of truth that determines whether the actual test result matches the
expected outcome.
 Example: In a calculator app, for the input 2 + 2, the oracle expects 4.
11 Why test cases should be developed for both valid and invalid inputs?
Test cases should cover both valid and invalid inputs to:
 Ensure correct functionality for valid inputs.
 Catch errors and handle unexpected data.
 Prevent crashes and improve system reliability.
 Uncover security vulnerabilities.

12 What are the errors uncovered by black box testing?

13 List the levels of Testing or Phases of testing.


There are mainly four Levels of Testing in software testing :
1. Unit Testing : checks if software components are fulfilling functionalities or not.
2. Integration Testing : checks the data flow from one module to other modules.
3. System Testing : evaluates both functional and non-functional needs for the testing.
4. Acceptance Testing : checks the requirements of a specification or contract are met
as per its delivery.
14 Define Unit test. Give an example.
Unit Testing is a software testing technique in which individual units or components of a
software application are tested in isolation. These units are the smallest pieces of code,
typically functions or methods, ensuring they perform as expected.
Example:
function add(a, b) { return a + b; }
A unit test for this function:
console.log(add(2, 3) === 5); //Pass

15 What are the Integration strategies?


In Integration Testing, we combine and test individual modules to verify they work together
correctly. The way we combine these modules is called an Integration Strategy
Big Bang Integration: Combine all modules and test everything at once.
Incremental Integration: Add and test modules step by step.
 Top-Down: Test from the main module to submodules.
 Bottom-Up: Test from submodules to the main module.
 Sandwich (Hybrid): Combine top-down and bottom-up testing
16 List the phases in the unit test planning.
Test Plan Preparation – Define scope, objectives, and test environment.
Test Case Design – Identify test scenarios and create test cases.
Test Environment Setup – Configure necessary hardware/software.
Test Execution – Run test cases and log results.
Result Analysis & Bug Reporting – Identify defects and document them.
Test Closure – Review test results and finalize reports.
17 Mention the quality attributes of software.
 Quality Attributes of Software:
 Functionality
 Reliability
 Usability
 Efficiency
 Maintainability
 Portability
18 What are the sources of defects?
 Incomplete Requirements: Ambiguous requirements lead to misinterpretations and
defects.
 Design Errors: Flaws in architecture or design can cause issues.
 Coding Mistakes: Human errors like syntax or logic mistakes introduce defects.
 Unidentified Defects: Inadequate testing fails to catch defects before release.
19 Compare black box and white box testing.

20 List out some examples of black and white box techniques.


Black Box Testing Techniques: Equivalence Partitioning, Boundary Value Analysis,
Decision Table Testing, State Transition Testing, Error Guessing.
White Box Testing Techniques: Statement Coverage, Branch Coverage, Path Coverage,
Loop Testing, Control Flow Testing.
21 Write short notes on Random testing and Equivalence class partitioning.
Random Testing: A black box technique where test cases are chosen randomly without
predefined rules. It’s simple, cost-effective, and useful when system knowledge is limited,
but it may miss some defects.
 Example: Entering random values in a login form to check for crashes.
Equivalence Class Partitioning (ECP): Divides input data into valid and invalid classes to
reduce test cases while ensuring good coverage.
 Example: For input 1–100, test values like 10, 50, and 90.
22 What are the errors uncovered by black box testing?

23 Mention the steps involved in developing test cases with a cause-and-effect graph.
Decompose Specification – Break down the software component into smaller functional
units.
Identify Causes & Effects – Define input conditions (causes) and expected outputs
(effects).
Create a Cause-and-Effect Graph – Represent causes and effects as nodes with logical
relationships (AND, OR, NOT).
Apply Constraints – Define invalid cause-effect combinations due to system limitations.
Convert to Decision Table – Map logical conditions into a structured format.
Generate Test Cases – Derive test cases from the decision table for execution.
24 How would you calculate cyclomatic complexity?
Cyclomatic Complexity (CC) is a metric used to measure the complexity of a program’s
control flow. It helps in determining the number of independent paths in the code.
Formula: CC=E−N+2P
Where:
E = Number of edges (control flow connections)
N = Number of nodes (decision points)
P = Number of connected components (usually 1 for a single program)
Example:
For a program with 10 edges, 8 nodes, and 1 component:
CC=10−8+2(1)=4
A CC of 4 means there are 4 independent execution paths that should be tested.
25 Write the application scope of adequacy criteria?
Adequacy criteria define how well a test suite covers a software component.

Ensures Test Effectiveness – Helps in identifying untested parts of the software.


Improves Code Quality – Reduces defects by ensuring thorough testing.
Guides Test Case Selection – Helps in determining the minimum required test cases.
Supports Regulatory Compliance – Ensures software meets industry testing standards.
Enhances Maintainability – Provides clear coverage metrics for future updates
26 What is boundary value analysis?
BVA is a black-box testing technique that focuses on testing values at the boundary limits
(min, max, just inside, just outside) rather than within the range. It helps uncover edge-case
defects.

Example: If an input range is 1 to 100, test cases would include 0, 1, 2, 99, 100, and 101.
27 Why is it important to design test Harness for testing?
A Test Harness is a collection of scripts, drivers, and stubs used to automate testing. It is
important because:
Automates Test Execution – Reduces manual effort and increases efficiency.
Simulates Missing Components – Allows testing even if some modules are incomplete.
Enhances Debugging – Provides logs and reports for issue tracking.
Improves Reusability – Can be used across multiple test scenarios.
28 Define the types of static testing.
Static testing is performed without executing the code and includes:
Reviews – Manual inspection of documents, requirements, and code.
Walkthroughs – Step-by-step discussion of the code with peers.
Inspections – Formal review to find defects.
Static Analysis – Automated tools check for coding errors and security flaws.
29 Define Stub and Driver.
Stub – A dummy module that simulates a missing component called by the tested module
(used in top-down testing).
Driver – A dummy module that calls the tested component (used in bottom-up testing).
Example:

Stub: If testing a "Payment" module without the "Bank API," a stub can simulate API
responses.
Driver: If testing a "Login" function that depends on an unbuilt "Dashboard," a driver can
mimic calls to the Dashboard.

30 What do you mean by API testing?


API testing verifies the functionality, performance, security, and reliability of Application
Programming Interfaces (APIs) by sending requests and validating responses.
Key Checks:
Response Status – Verify HTTP codes (200 OK, 404 Not Found).
Data Accuracy – Ensure API returns correct and expected data.
Error Handling – Check how API responds to invalid inputs.
Security – Test authentication (e.g., OAuth, JWT) and data encryption.
Part B and C

1. Elaborate on the principles of software testing


2. Explain various design defects with suitable examples. Also analyse tester’s role in
software organisation
3. What are the typical origins of defects? Explain the major classes of defects in the
software artefacts.
4. Explain in detail about the role of tester in a software organization.
5. Explain in detail about the technique Equivalence Class Partitioning.
6. Illustrate with an example about the technique Cause Effect graphing.
7. Explain in detail about Code Coverage testing.
8. Explain about the technique Test Adequacy Criteria.
9. Develop a validation code with all inputs type in python to perform unit testing in
calculating sum of 2 numbers.
10. Develop a validation code with all inputs type in python to perform unit testing in
generation of n even numbers.
11. Develop a validation code with all inputs type in python to perform unit testing in
generating multiples of 5 up to n.
12. Develop a validation code with all inputs type in python to perform unit testing in
displaying length of given string.

You might also like