Week 10 Lecture Introduction To Software Evaluation and Testing
Week 10 Lecture Introduction To Software Evaluation and Testing
Lecture Week 10
•Determine purpose
o Validation of requirements
o User experience Testing
o Performance & Scalability Assessment
•Allocate responsibilities
o Defect tracking, communication & reporting
• Module testing:
o Classes, Lower Level System (LES) testing etc
• Sub-system testing:
o Libraries
• System testing
o Performance Testing
• Integration testing
o Incremental integration, Top-down Integration
• Acceptance testing
o alpha and beta testing
Source: https://www.softwaretestingmaterial.com/test-case-template-with-explanation/
Test Case Template
SCREEN NAME
DATE
S.NO TEST CASE ID TEST CASE DESCRIPTION PRECONDITION TEST DATA EXPECTED RESULT POSTCONDITION ACTUAL RESULT STATUS DEFECT ID COMMENTS
Types of Testing
•Requirements testing
o Requirement Validation, Traceability Testing
• Design testing
o Interface Testing
Deriving ECs:
• A data item can belong to several ECs
• E.g. 'a' is both alphabetic and
Sample Test Plan
•Consider a function to convert lowercase characters to uppercase
characters
Return to step 1 and retest: A new build is produced after one cycle.
Testing Cycle
Design
Testing begins when the project begins.
Beginning of the project: Define the scope, Evaluate project design and
assets, Review and correct.
Software test plan document is also produced in this early phases.
The quality of the software is evaluated by code, graphics and sounds
where needed that are produced and compiled into the code.
Proper documentation testing (project plan, design and test plan) can
help in finding and solving problems sooner and cheaper.
Delaying testing till the end may cause some serious problems including
project failure.
Testing Stages
•The prototype is tested against criteria established in planning phase.
•Major feature of this stage is to run the software from start to finish
along some path and revise it.
•It is very critical to stick to the test plan, and carefully perform the
entire tests defined in the plan.
Improved Prototype
•Focus mostly on tuning the software, the developers has already
created.
•Run the software along all possible paths, the entire user interface is
final, software logic and algorithmic implementation AI are final, all HCI
issues and implemented.
Testing Techniques
•Adhoc Testing
• Informal Testing Approach, Exploratory Testing Nature
•Combinatorial Testing
• Systematically test different combinations of input values to see how they
interact.
•Test Trees
• Breaking down a big task into smaller, more manageable parts. Each branch of
the tree represents a specific test, helping to ensure that every part of the
software is thoroughly checked.
Ad hoc testing
•Adhoc Testing is also sometime refers to as general testing. It is less
structured test.
•Ad hoc testing allows tester to explore paths based on their intuition.
•There are two kinds of ad hoc testing.
•First is free testing, which is testing without any planning or documentation.
•The second is direct testing, which is a single test, improvised to answer a
specific problem.
•The team's test strategy is to produce tests that will run/use the software
the way user will.
Combinatorial Testing
•How much testing should be enough?
•Software quality has to be good enough for customer, but testing has to stop
before the release date.
o The test then created can be homogenous (test parameters of same type)
or heterogeneous (test parameters of different types).
Test Flow diagrams:
•Test flow diagrams (TDF) are used to create models representing software
behaviour from user's perspective.
•Testing takes place by exploring the model, along all possible paths to explore
the unexpected states.
•Complex features can be represented by complex TDF's, but usually small TDF
are preferable.
•The test tree is constructed by decomposing the feature into subsets until
the bottom nodes identify elements to use or specification to perform
during testing.
Test Trees