0% found this document useful (0 votes)
10 views6 pages

FINALSTMMID2

Uploaded by

sum T
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)
10 views6 pages

FINALSTMMID2

Uploaded by

sum T
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/ 6

1.

State:
A state is defined as: “A combination of circumstances
or attributes belonging for the time being to a person
or thing.” For example, a moving automobile whose
engine is running can have the following states with
respect to its transmission.
 Reverse gear
 Neutral gear
 First gear
 Second gear
 Third gear
 Fourth gear State graph – Example
Working:  We create a state transition diagram with: o
States (e.g., Logged In) o Events (e.g., Click "Logout") o
Transitions (e.g., from Logged In → Logged Out)  Then
test whether every transition gives the correct output
or not.State Testing is a technique where a software
application is tested by observing the behavior when it
transitions from one state to another based on certain
events or actions.
Principles of state testing:
 ✅ State testing is similar to path testing in flow

graphs.
 ✅ Testing all states/paths is impractical.

 ✅ "Grand tour" is inefficient — hard to complete

early due to bugs and unnecessary later.


 ✅ Long test sequences make verification difficult.

2.path:
 A path in software testing is a sequence of
statements executed from the start to the end of the
program.
Path product:
✅ Flow graphs show control flow connectivity.
✅ Links are given names (lowercase italic letters).
✅ Link names act as weights, helping convert the
graph into algebraic expressions.
✅ Paths are traced by concatenating link names.
✅ This gives a symbolic expression for all possible
paths from entry to exit.
Advantages:  Ensures maximum code is tested. 
Detects unreachable code and missing logic
branches.
Disadvantages:  For large programs, number of
paths grows exponentially (called path explosion). 
Difficult to manage manually without tools.

4. Transaction Testing & Techniques


✅ Definition:
 A transaction is a set of operations performed as a
unit. (E.g., in a banking app: login → transfer →
logout is one transaction)
 Transaction testing checks whether the transaction
executes correctly from start to end, maintaining
data integrity.
✅ Importance:
 Most business applications are transaction-based
(e.g., ecommerce, banking).
 Ensures proper order, accuracy, and completion of
steps.
✅ Techniques: 1. Transaction Flow Graph (TFG):
Diagram showing each user action and possible
paths.
2. Valid and Invalid Sequences: Test different orders
to ensure only allowed sequences are accepted. 3.
Path Testing on TFG: Ensure each transaction flow is
covered.
✅ Example: Ticket Booking App:
 Login → Search Train → Select Train → Pay →
Logout Test should:  Ensure steps execute in order.
 Show error if skipped or repeated.
✅ Advantages:
 Mimics real user behavior.
 Ensures end-to-end functionality works.
✅ Disadvantages:
 Complex if app has many optional or repeated
steps.
 Requires accurate documentation of all
transaction flows.

5.data flow:
DATA FLOW TESTING: o Data flow testing is the
name given to a family of test strategies based on
selecting paths through the program's control flow
in order to explore sequences of events related to the
status of data objects.
o For example, pick enough paths to assure that
every data object has been initialized prior to use or
that all defined objects have been used
forsomething.
o Motivation: It is our belief that, just as one would
not feel confident about a program without
executing every statement in it as part of some test,
one should not feel confident about a program
without having seen the effect of using the value
produced by each and every computation.
Data flow strategies:
1. All-defs coverage: Test all variable definitions. 2.
All-uses coverage: Test every place a variable is
used. 3. All du-paths coverage: Cover all
definition-to-use paths for each variable. ✅
Example: int x; // declared x = 5; // def if (x > 0)
// use (predicate) y = x + 1; // use
(computation)

6.domain testing:
Domain Testing :
It is a software testing technique where
minimum numbers of inputs are used to access
appropriate output of a system, to ensure the
system does not accept invalid input values. The
system is expected to give required outputs
blocking the invalid inputs.
✅ Importance of Domain Testing (Key Points):
 ✅ Covers Input Space: Ensures all possible

input areas are tested.


 ✅ Detects Errors: Identifies issues in specific

input ranges.
 ✅ Prevents Bugs: Helps avoid vulnerabilities

by understanding input limits.


 ✅ Improves Efficiency: Focuses testing on

critical input areas for better results.

✅ Mnemonic:
“C.E.P.E.” – Cover, Error, Prevent, Efficient
(Cover input, catch Errors, Prevent bugs, Efficient
testing)

Structure of Domain Testing:


1. ✅ Determine the Domain
– Understand the software's environment
and requirements with stakeholders.
2. ✅ Split the Domain
– Divide into smaller, testable parts (input
sets, states, scenarios).
3. ✅ Choose Test Cases
– Pick representative cases to cover all
domain partitions.
4. ✅ Design Test Data
– Create realistic data, especially boundary
and error-prone values.
5. ✅ Run Test Cases
– Execute tests, compare actual results with
expected outcomes.
6. ✅ Boundary Value Analysis
– Focus on edge values (min/max) where
bugs often hide.
7. ✅ Error Handling Check
– Ensure the software responds properly to
invalid/unexpected inputs.
8. ✅ Automation (if needed)
– Use tools to test complex or repetitive
scenarios efficiently.

✅ Mnemonic:
"Don’t Split Cheese During Rainy Bad Evenings
Always"
(Determine, Split, Choose, Design, Run,
Boundary, Error, Automation)

You might also like