SlideShare a Scribd company logo
1
Testware
Hierarchy for
Test Automation
Gregory Solovey
The proposed process allows to
perform test automation in parallel
with coding, and can be the base
for continuous integration and agile
testing
2
Developer : unit test
Team: feature test
Project: regression & sanity test
Product: system & load test
Technology: interoperability test
In the traditional approach
automated tests are added
during subsequent test
process phases
In the proposed approach
automated tests are reused
while transitioning to the
subsequent test process phases
Test Automation
3
In the traditional approach test is sequential
(formal relay)
In the proposed approach test is almost parallel
(multi-threaded, with different priorities)
Agile Testing
Requirements Design Coding Unit test
Scenarios
Test plan Testing
Testware Testing
4
Processes
Provide
decomposition/
abstraction
Design Tests
Build Harness
Automate
Testing
There Is Nothing New Under the Sun
5
Processes
6
Processes
Provide
decomposition/
abstraction
Define hierarchy
Present as a
formal model
Design Test
Order error set
Cover all faults
Build Harness
Provide
controllability/
observability
Automate Testing
Write scripts in
test language
Separate business
functions from
implementation
Architecture/
Requirements docs
Test
docs
Design
docs
Testware
Processes
7
Hierarchy
8
Processes
Provide
decomposition/
abstraction
Define hierarchy
Present as a formal
model
Design Test
Order error set
Cover all faults
Build Harness
Provide
controllability/
observability
Automate Testing
Write scripts n test
language
Separate business
functions from
implementation
• Systems hierarchy
• Models hierarchy
• Errors hierarchy
• Tests hierarchy
• Harness elements
hierarchy
• Report hierarchy
• Testware hierarchy
Order is Heaven's first law
9
6/18/2014 10
Process: Provide object decomposition/abstraction
Sub-process: Define object hierarchy
Purpose: Simplify the test design process
• As a rule of thumb, the size of a subsystem to
be tested should be in the order of a hundred
elements (objects, states, messages)
• Represent the system hierarchically, from a
high level description to a less abstract one,
until the desired level of detail is achieved
• Vertical decomposition is achieved by breaking
down an element from black box to white box;
from functional to structural model
• Horizontal decomposition is achieved by
ensuring the independence of the model's
elements.
Object Test Harness Auto
6/18/2014 11
Process: Provide object decomposition/abstraction
Sub-process: Define object hierarchy
Purpose: Simplify the test design process
• Provides a natural way to divide the work
• Achieves the fastest way to find most critical
errors by applying tests to the highest level of
object abstraction first
• Defines the boundary between system, feature,
unit test
Object Test Harness Auto
6/18/2014 12
Process: Provide object decomposition/abstraction
Sub-process: Define object hierarchy
Purpose: Simplify the test design process
Nowadays the systems’ architecture provides the right level
of decomposition:
 In the vertical view the direction is to separate the
business and implementation details, allowing for
independent multi-layer development, where the lower
level layers are unaware of the higher layers
 In the horizontal view the direction is towards object
reuse (component based development), with the ability
to assemble the objects in various contexts and access
them via APIs
Hierarchy in SW architecture:
(application (middleware (operating system(firmware (drivers))))
Hierarchy in HW models:
(processors (registers (flip-flops (gates)))
Hierarchy in Protocol models:
(SIP(TCP(IP (PPP(DS)))))
Object Test Harness Auto
6/18/2014 13
Process: Provide object decomposition/abstraction
Sub-process: Define object hierarchy
Purpose: Simplify the test design process
 For systems where this condition is not satisfied
the tester has to provide the decomposition,
document independent objects, review
assumptions with systems engineers, estimate
risk of such assumptions.
 The management has to decide whether to
accept the risk that test is incomplete or request
architectural changes to satisfy the test
requests.
Object Test Harness Auto
Business
function
Model Test
6/18/2014 14
Process: Provide object decomposition/abstraction
Sub-process: Present as a formal model
Purpose: Formalize the test design process
• If the architecture/requirements are presented as a set of
business functions, then only subject matter experts can define
tests, based on their expertise. There are no formal rules on how
to build tests from business-oriented requirements; therefore, it
cannot be proved that the tests are complete and consistent.
• If the architecture/requirements are presented as a set of formal
software engineering models, then testers can use well-known
test design approaches to cover all model errors.
Object Test Harness Auto
Business
function
Model Test
6/18/2014 15
Process: Provide object decomposition/abstraction
Sub-process: Present as a formal model
Purpose: Formalize the test design process
Data structure
Condition; function
Structural: algorithm; ladder
diagram
Functional: State machine;
Syntax; Object-oriented
Compound: Instruction set
Object Test Harness Auto
For systems where requirements
are described as business functions
the tester has to transform the plain,
narrative text into formal statements
(models analogies to UML), and
have the result reviewed for
consistency
Business Model Errors Test
6/18/2014 16
• A test cannot prove the correctness of an object, but can identify
its errors. A test is a set of object stimuli that forces the object to
produce different responses in the presence or absence of
errors.
• Errors are possible distortions of the object-to-test’s model: its
elements, structure or behavior.
Process: Design test
Sub-process: Order the error set
Purpose: Increase error resolution
Object Test Harness Auto
6/18/2014 17
Process: Design test
Sub-process: Order the error set
Purpose: Increase error resolution
4
1
3
2
5
4
1
3
2
regression test
each test case attempts to
cover as many errors as
possible (to have fewest
cases)
new feature test
each test case attempts to
cover as few errors as
possible (to reach highest
error resolution)
Object Test Harness Auto
Model Errors Method Test
6/18/2014 18
Process: Design test
Sub-process: Cover all faults
Purpose: Guarantee the coverage with a minimal test set
Model Method
Elementary: Variable; Condition;
Function
Boundary analysis; Graph
coverage; Value changes
Structural: Data/control flow;
Algorithm
Nodes/ Branches/ Path coverage
Functional: State machine;
Syntax; Object-oriented
States and transition functions
coverage; Rules coverage;
Properties, methods coverage
Compound: Instruction set Sensitive Path
Object Test Harness Auto
6/18/2014 19
a = b or c;
f = a & d;
if (f) then {
} else {
}
D = {a1,a0, b1, b0, c1, c0,d1, d0, f1, f0}
b
c
d
bcd Expected
Result
Errors
101 0 a0 b0 d0 f0
011 0 c0
001 1 a1 b1 c1 f1
110 1 d1
bcd Expected
Result
errors
000 1 f0
111 0 a0 d0 f0
001 1 a1 b1 c1
110 1 d1
011 0 c0
101 0 b0
Regression test
Feature test
f1
a0 d0
f0
a1 b1
c1
c0 b0
d1
Graph model
Error set
Error tree
Program Object Test Harness Auto
19
6/18/2014 20
Process: Build the test harness
Sub-process: Provide controllability/observability
Purpose: Guarantee the test execution
execute
compare
control
observe
Object to test
A test harness is a set of “instruments” that provides the ability to
execute test cases:
• CLI commands to access APIs or test functions
• GUI hidden objects to access database or send transactions
Object Test Harness Auto
subsystem
21
Recommendation for CLI commands:
• Provide routing to a particular CLI command, using UNIX-like syntax
(“cd”, “ls”, “help”, “show”)
• Print the states and values of the object or group of objects in TLV
format
• Access all object APIs: create, activate, discover, delete, send, etc
• Report errors with the keyword “ERROR”
• Redirect system outcoming messages to CLI interface
• Do not perform any checks other than syntax at the CLI level
• Return “OK/ ERROR” results from the command
Recommendation for GUI objects:
• Use unique names for application objects
• Use naming conventions
• Use automation-friendly controls
Process: Build the test harness
Sub-process: Apply standards
Purpose: Simplify automation
Object Test Harness Auto
Process: Automate testing
Sub-process: Separate business function from implementation details
Purpose: Provide testware maintenance
Object Test Harness Auto
Developers and testers have different preferences for test tools:
• Developers prefer to use open source tools (to be able to modify
them) and write test cases in a programming language (C, VB, C#,
PERL, EXPECT)
• Testers feel comfortable using production tools (access to technical
support) and write test cases in specialized test languages (test
framework)
Programming language Test language
variables, arrays, hashes TS,UC,TC,TA w/ parameters
if, case compare
for, while, until loop for TS,UC,TC,TA
function, subroutine, procedure TC {setup, test, compare, reset}
algorithm unconditional sequence 22
Process: Automate testing
Sub-process: Write script in a test language
Purpose: Simplify debugging
Script: capture
& playback
Test Set: subsystem level
Use Case: requirements
level
Test Case: condition level
Test Action: transaction level
Object Test Harness Auto
Sample framework shows various test object levels:
(TS (UC (TC (TA))))
23
Process: Automate testing
Sub-process: Write script in a test language
Purpose: Guarantee reporting diversity
Object Test Harness Auto
level verdict report
TS subsystem metrics product management
UC feature full/partial/no functionality project management
TC test case pass/ fail developer/tester
TA transaction ok/ error/ timeout developer/tester
24
25000 20
5000 200
250 250
50 50
SUM UNIQUE Test
TS 2
UC1
TC 1
TA 1 .TA 2
… TC q
TA 1 TA 2
… UC n
TC 1
TA 1 TA 2
… TC w
TA 1 TA 2
… TS n
UC 1
TC 1
TA 1 TA 2
… TC r
TA 1 …. TA 2
… UC m
Process: Automate testing
Sub-process: Separate business function from implementation details
Purpose: Provide testware maintenance
TS
• XML config file
UC
• Test management system
TC
• Libraries/ Scripts
TA
• Test Language
Object Test Harness Auto
Sample testware hierarchy for an LTE embedded middleware system:
• XML configuration file contains all test sets , which are invoked
based on changes to subsystems detected during the build
process (for continuous integration)
• The test management system contains the use cases
• The libraries contain the test cases (set-execute-compare-reset
phases)
• The test language describes possible interactions with the object-
to-test
25
Process: Automate testing
Sub-process: Separate business function from implementation details
Purpose: Provide testware maintenance
Test file call
Test file call
Test file
Test case
Compare
Action
Action
Action
Action
Action
…
…
Test phase
Reset phase
Test case
Test case
Test case
== definition part ========================
Use case
Test case callTest case call
Test case call
Use case
Test case callTest case call
Test case call
Use case
Test case callTest case call
Test case call
== control part ==============================
TEST LIBRARIES
TEST CONTAINERS
TEST SCRIPTS
Object Test Harness Auto
26
Ad

More Related Content

What's hot (20)

ASDSpec, Model Based Testing
ASDSpec, Model Based TestingASDSpec, Model Based Testing
ASDSpec, Model Based Testing
Rachid Kherrazi
 
Ch11lect2
Ch11lect2Ch11lect2
Ch11lect2
Muni Ram
 
Rv11
Rv11Rv11
Rv11
Wolfgang Grieskamp
 
Quiz3 tonghop
 Quiz3 tonghop Quiz3 tonghop
Quiz3 tonghop
Daewoo Han
 
Rachid kherrazi-testing-asd-interface-compliance-with-asd spec
Rachid kherrazi-testing-asd-interface-compliance-with-asd specRachid kherrazi-testing-asd-interface-compliance-with-asd spec
Rachid kherrazi-testing-asd-interface-compliance-with-asd spec
Rachid Kherrazi
 
Unit 2 unit testing
Unit 2   unit testingUnit 2   unit testing
Unit 2 unit testing
ravikhimani1984
 
12 Rational Solo Pruebas 2009
12 Rational Solo Pruebas 200912 Rational Solo Pruebas 2009
12 Rational Solo Pruebas 2009
Pepe
 
Implementing Blackbox Testing
Implementing Blackbox TestingImplementing Blackbox Testing
Implementing Blackbox Testing
Edureka!
 
Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)
Damian T. Gordon
 
Test cases
Test casesTest cases
Test cases
Chandra Maddigapu
 
Ch11lect2 ud
Ch11lect2 udCh11lect2 ud
Ch11lect2 ud
Ahmet Balkan
 
Testing
TestingTesting
Testing
Mohammed
 
Cucumber spec - a tool takes your bdd to the next level
Cucumber spec - a tool takes your bdd to the next levelCucumber spec - a tool takes your bdd to the next level
Cucumber spec - a tool takes your bdd to the next level
nextbuild
 
10 software testing_technique
10 software testing_technique10 software testing_technique
10 software testing_technique
University of Computer Science and Technology
 
Model Based Testing
Model Based TestingModel Based Testing
Model Based Testing
Rachid Kherrazi
 
Model-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next LevelModel-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next Level
Bob Binder
 
Structural and functional testing
Structural and functional testingStructural and functional testing
Structural and functional testing
Himanshu
 
Uft Basics
Uft BasicsUft Basics
Uft Basics
Archana Krushnan
 
Program Check List (PCL) FSOFT
Program Check List (PCL) FSOFTProgram Check List (PCL) FSOFT
Program Check List (PCL) FSOFT
Mobi Marketing
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
Homa Pourmohammadi
 
ASDSpec, Model Based Testing
ASDSpec, Model Based TestingASDSpec, Model Based Testing
ASDSpec, Model Based Testing
Rachid Kherrazi
 
Quiz3 tonghop
 Quiz3 tonghop Quiz3 tonghop
Quiz3 tonghop
Daewoo Han
 
Rachid kherrazi-testing-asd-interface-compliance-with-asd spec
Rachid kherrazi-testing-asd-interface-compliance-with-asd specRachid kherrazi-testing-asd-interface-compliance-with-asd spec
Rachid kherrazi-testing-asd-interface-compliance-with-asd spec
Rachid Kherrazi
 
12 Rational Solo Pruebas 2009
12 Rational Solo Pruebas 200912 Rational Solo Pruebas 2009
12 Rational Solo Pruebas 2009
Pepe
 
Implementing Blackbox Testing
Implementing Blackbox TestingImplementing Blackbox Testing
Implementing Blackbox Testing
Edureka!
 
Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)
Damian T. Gordon
 
Cucumber spec - a tool takes your bdd to the next level
Cucumber spec - a tool takes your bdd to the next levelCucumber spec - a tool takes your bdd to the next level
Cucumber spec - a tool takes your bdd to the next level
nextbuild
 
Model-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next LevelModel-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next Level
Bob Binder
 
Structural and functional testing
Structural and functional testingStructural and functional testing
Structural and functional testing
Himanshu
 
Program Check List (PCL) FSOFT
Program Check List (PCL) FSOFTProgram Check List (PCL) FSOFT
Program Check List (PCL) FSOFT
Mobi Marketing
 

Similar to Testware Hierarchy for Test Automation (20)

Testing
TestingTesting
Testing
Gagandeep Nanda
 
Final Automation Testing
Final Automation TestingFinal Automation Testing
Final Automation Testing
priya_trivedi
 
Introduction to testing.
Introduction to testing.Introduction to testing.
Introduction to testing.
Jithinctzz
 
Netserv Software Testing
Netserv Software TestingNetserv Software Testing
Netserv Software Testing
sthicks14
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Software
guest8861ff
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
Quontra Solutions
 
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxOS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
ShivareddyGangam
 
How To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test AutomationHow To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test Automation
Ranorex
 
Test automation wipro
Test automation   wiproTest automation   wipro
Test automation wipro
ambreprasad77
 
Test Automation Frameworks Final
Test Automation Frameworks   FinalTest Automation Frameworks   Final
Test Automation Frameworks Final
Margaret_Dickman
 
Manualtestingppt
ManualtestingpptManualtestingppt
Manualtestingppt
balaji naidu
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
VenkateswaraRao Siddabathula
 
Test Levels & Techniques
Test Levels & TechniquesTest Levels & Techniques
Test Levels & Techniques
Dhanasekaran Nagarajan
 
Glossary of Testing Terms and Concepts
Glossary of Testing Terms and ConceptsGlossary of Testing Terms and Concepts
Glossary of Testing Terms and Concepts
mqamarhayat
 
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
Parasoft .TEST, Write better C# Code Using  Data Flow Analysis Parasoft .TEST, Write better C# Code Using  Data Flow Analysis
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
Engineering Software Lab
 
Automated Testing Tutorial
Automated Testing TutorialAutomated Testing Tutorial
Automated Testing Tutorial
John Liebenau
 
Strategy-driven Test Generation with Open Source Frameworks
Strategy-driven Test Generation with Open Source FrameworksStrategy-driven Test Generation with Open Source Frameworks
Strategy-driven Test Generation with Open Source Frameworks
Dimitry Polivaev
 
Modeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDrawModeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDraw
Gregory Solovey
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptx
pavelpopov43
 
Testing
TestingTesting
Testing
trashqwerty
 
Final Automation Testing
Final Automation TestingFinal Automation Testing
Final Automation Testing
priya_trivedi
 
Introduction to testing.
Introduction to testing.Introduction to testing.
Introduction to testing.
Jithinctzz
 
Netserv Software Testing
Netserv Software TestingNetserv Software Testing
Netserv Software Testing
sthicks14
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Software
guest8861ff
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
Quontra Solutions
 
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxOS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
ShivareddyGangam
 
How To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test AutomationHow To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test Automation
Ranorex
 
Test automation wipro
Test automation   wiproTest automation   wipro
Test automation wipro
ambreprasad77
 
Test Automation Frameworks Final
Test Automation Frameworks   FinalTest Automation Frameworks   Final
Test Automation Frameworks Final
Margaret_Dickman
 
Glossary of Testing Terms and Concepts
Glossary of Testing Terms and ConceptsGlossary of Testing Terms and Concepts
Glossary of Testing Terms and Concepts
mqamarhayat
 
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
Parasoft .TEST, Write better C# Code Using  Data Flow Analysis Parasoft .TEST, Write better C# Code Using  Data Flow Analysis
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
Engineering Software Lab
 
Automated Testing Tutorial
Automated Testing TutorialAutomated Testing Tutorial
Automated Testing Tutorial
John Liebenau
 
Strategy-driven Test Generation with Open Source Frameworks
Strategy-driven Test Generation with Open Source FrameworksStrategy-driven Test Generation with Open Source Frameworks
Strategy-driven Test Generation with Open Source Frameworks
Dimitry Polivaev
 
Modeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDrawModeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDraw
Gregory Solovey
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptx
pavelpopov43
 
Ad

Recently uploaded (20)

Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
wareshashahzadiii
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Agentic AI Use Cases using GenAI LLM models
Agentic AI Use Cases using GenAI LLM modelsAgentic AI Use Cases using GenAI LLM models
Agentic AI Use Cases using GenAI LLM models
Manish Chopra
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Xforce Keygen 64-bit AutoCAD 2025 Crack
Xforce Keygen 64-bit AutoCAD 2025  CrackXforce Keygen 64-bit AutoCAD 2025  Crack
Xforce Keygen 64-bit AutoCAD 2025 Crack
usmanhidray
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Adobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install IllustratorAdobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install Illustrator
usmanhidray
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Sales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptxSales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptx
EliandoLawnote
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
wareshashahzadiii
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Agentic AI Use Cases using GenAI LLM models
Agentic AI Use Cases using GenAI LLM modelsAgentic AI Use Cases using GenAI LLM models
Agentic AI Use Cases using GenAI LLM models
Manish Chopra
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Xforce Keygen 64-bit AutoCAD 2025 Crack
Xforce Keygen 64-bit AutoCAD 2025  CrackXforce Keygen 64-bit AutoCAD 2025  Crack
Xforce Keygen 64-bit AutoCAD 2025 Crack
usmanhidray
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Adobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install IllustratorAdobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install Illustrator
usmanhidray
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Sales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptxSales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptx
EliandoLawnote
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Ad

Testware Hierarchy for Test Automation

  • 2. The proposed process allows to perform test automation in parallel with coding, and can be the base for continuous integration and agile testing 2
  • 3. Developer : unit test Team: feature test Project: regression & sanity test Product: system & load test Technology: interoperability test In the traditional approach automated tests are added during subsequent test process phases In the proposed approach automated tests are reused while transitioning to the subsequent test process phases Test Automation 3
  • 4. In the traditional approach test is sequential (formal relay) In the proposed approach test is almost parallel (multi-threaded, with different priorities) Agile Testing Requirements Design Coding Unit test Scenarios Test plan Testing Testware Testing 4
  • 7. Processes Provide decomposition/ abstraction Define hierarchy Present as a formal model Design Test Order error set Cover all faults Build Harness Provide controllability/ observability Automate Testing Write scripts in test language Separate business functions from implementation Architecture/ Requirements docs Test docs Design docs Testware Processes 7
  • 9. Processes Provide decomposition/ abstraction Define hierarchy Present as a formal model Design Test Order error set Cover all faults Build Harness Provide controllability/ observability Automate Testing Write scripts n test language Separate business functions from implementation • Systems hierarchy • Models hierarchy • Errors hierarchy • Tests hierarchy • Harness elements hierarchy • Report hierarchy • Testware hierarchy Order is Heaven's first law 9
  • 10. 6/18/2014 10 Process: Provide object decomposition/abstraction Sub-process: Define object hierarchy Purpose: Simplify the test design process • As a rule of thumb, the size of a subsystem to be tested should be in the order of a hundred elements (objects, states, messages) • Represent the system hierarchically, from a high level description to a less abstract one, until the desired level of detail is achieved • Vertical decomposition is achieved by breaking down an element from black box to white box; from functional to structural model • Horizontal decomposition is achieved by ensuring the independence of the model's elements. Object Test Harness Auto
  • 11. 6/18/2014 11 Process: Provide object decomposition/abstraction Sub-process: Define object hierarchy Purpose: Simplify the test design process • Provides a natural way to divide the work • Achieves the fastest way to find most critical errors by applying tests to the highest level of object abstraction first • Defines the boundary between system, feature, unit test Object Test Harness Auto
  • 12. 6/18/2014 12 Process: Provide object decomposition/abstraction Sub-process: Define object hierarchy Purpose: Simplify the test design process Nowadays the systems’ architecture provides the right level of decomposition:  In the vertical view the direction is to separate the business and implementation details, allowing for independent multi-layer development, where the lower level layers are unaware of the higher layers  In the horizontal view the direction is towards object reuse (component based development), with the ability to assemble the objects in various contexts and access them via APIs Hierarchy in SW architecture: (application (middleware (operating system(firmware (drivers)))) Hierarchy in HW models: (processors (registers (flip-flops (gates))) Hierarchy in Protocol models: (SIP(TCP(IP (PPP(DS))))) Object Test Harness Auto
  • 13. 6/18/2014 13 Process: Provide object decomposition/abstraction Sub-process: Define object hierarchy Purpose: Simplify the test design process  For systems where this condition is not satisfied the tester has to provide the decomposition, document independent objects, review assumptions with systems engineers, estimate risk of such assumptions.  The management has to decide whether to accept the risk that test is incomplete or request architectural changes to satisfy the test requests. Object Test Harness Auto
  • 14. Business function Model Test 6/18/2014 14 Process: Provide object decomposition/abstraction Sub-process: Present as a formal model Purpose: Formalize the test design process • If the architecture/requirements are presented as a set of business functions, then only subject matter experts can define tests, based on their expertise. There are no formal rules on how to build tests from business-oriented requirements; therefore, it cannot be proved that the tests are complete and consistent. • If the architecture/requirements are presented as a set of formal software engineering models, then testers can use well-known test design approaches to cover all model errors. Object Test Harness Auto
  • 15. Business function Model Test 6/18/2014 15 Process: Provide object decomposition/abstraction Sub-process: Present as a formal model Purpose: Formalize the test design process Data structure Condition; function Structural: algorithm; ladder diagram Functional: State machine; Syntax; Object-oriented Compound: Instruction set Object Test Harness Auto For systems where requirements are described as business functions the tester has to transform the plain, narrative text into formal statements (models analogies to UML), and have the result reviewed for consistency
  • 16. Business Model Errors Test 6/18/2014 16 • A test cannot prove the correctness of an object, but can identify its errors. A test is a set of object stimuli that forces the object to produce different responses in the presence or absence of errors. • Errors are possible distortions of the object-to-test’s model: its elements, structure or behavior. Process: Design test Sub-process: Order the error set Purpose: Increase error resolution Object Test Harness Auto
  • 17. 6/18/2014 17 Process: Design test Sub-process: Order the error set Purpose: Increase error resolution 4 1 3 2 5 4 1 3 2 regression test each test case attempts to cover as many errors as possible (to have fewest cases) new feature test each test case attempts to cover as few errors as possible (to reach highest error resolution) Object Test Harness Auto
  • 18. Model Errors Method Test 6/18/2014 18 Process: Design test Sub-process: Cover all faults Purpose: Guarantee the coverage with a minimal test set Model Method Elementary: Variable; Condition; Function Boundary analysis; Graph coverage; Value changes Structural: Data/control flow; Algorithm Nodes/ Branches/ Path coverage Functional: State machine; Syntax; Object-oriented States and transition functions coverage; Rules coverage; Properties, methods coverage Compound: Instruction set Sensitive Path Object Test Harness Auto
  • 19. 6/18/2014 19 a = b or c; f = a & d; if (f) then { } else { } D = {a1,a0, b1, b0, c1, c0,d1, d0, f1, f0} b c d bcd Expected Result Errors 101 0 a0 b0 d0 f0 011 0 c0 001 1 a1 b1 c1 f1 110 1 d1 bcd Expected Result errors 000 1 f0 111 0 a0 d0 f0 001 1 a1 b1 c1 110 1 d1 011 0 c0 101 0 b0 Regression test Feature test f1 a0 d0 f0 a1 b1 c1 c0 b0 d1 Graph model Error set Error tree Program Object Test Harness Auto 19
  • 20. 6/18/2014 20 Process: Build the test harness Sub-process: Provide controllability/observability Purpose: Guarantee the test execution execute compare control observe Object to test A test harness is a set of “instruments” that provides the ability to execute test cases: • CLI commands to access APIs or test functions • GUI hidden objects to access database or send transactions Object Test Harness Auto subsystem
  • 21. 21 Recommendation for CLI commands: • Provide routing to a particular CLI command, using UNIX-like syntax (“cd”, “ls”, “help”, “show”) • Print the states and values of the object or group of objects in TLV format • Access all object APIs: create, activate, discover, delete, send, etc • Report errors with the keyword “ERROR” • Redirect system outcoming messages to CLI interface • Do not perform any checks other than syntax at the CLI level • Return “OK/ ERROR” results from the command Recommendation for GUI objects: • Use unique names for application objects • Use naming conventions • Use automation-friendly controls Process: Build the test harness Sub-process: Apply standards Purpose: Simplify automation Object Test Harness Auto
  • 22. Process: Automate testing Sub-process: Separate business function from implementation details Purpose: Provide testware maintenance Object Test Harness Auto Developers and testers have different preferences for test tools: • Developers prefer to use open source tools (to be able to modify them) and write test cases in a programming language (C, VB, C#, PERL, EXPECT) • Testers feel comfortable using production tools (access to technical support) and write test cases in specialized test languages (test framework) Programming language Test language variables, arrays, hashes TS,UC,TC,TA w/ parameters if, case compare for, while, until loop for TS,UC,TC,TA function, subroutine, procedure TC {setup, test, compare, reset} algorithm unconditional sequence 22
  • 23. Process: Automate testing Sub-process: Write script in a test language Purpose: Simplify debugging Script: capture & playback Test Set: subsystem level Use Case: requirements level Test Case: condition level Test Action: transaction level Object Test Harness Auto Sample framework shows various test object levels: (TS (UC (TC (TA)))) 23
  • 24. Process: Automate testing Sub-process: Write script in a test language Purpose: Guarantee reporting diversity Object Test Harness Auto level verdict report TS subsystem metrics product management UC feature full/partial/no functionality project management TC test case pass/ fail developer/tester TA transaction ok/ error/ timeout developer/tester 24
  • 25. 25000 20 5000 200 250 250 50 50 SUM UNIQUE Test TS 2 UC1 TC 1 TA 1 .TA 2 … TC q TA 1 TA 2 … UC n TC 1 TA 1 TA 2 … TC w TA 1 TA 2 … TS n UC 1 TC 1 TA 1 TA 2 … TC r TA 1 …. TA 2 … UC m Process: Automate testing Sub-process: Separate business function from implementation details Purpose: Provide testware maintenance TS • XML config file UC • Test management system TC • Libraries/ Scripts TA • Test Language Object Test Harness Auto Sample testware hierarchy for an LTE embedded middleware system: • XML configuration file contains all test sets , which are invoked based on changes to subsystems detected during the build process (for continuous integration) • The test management system contains the use cases • The libraries contain the test cases (set-execute-compare-reset phases) • The test language describes possible interactions with the object- to-test 25
  • 26. Process: Automate testing Sub-process: Separate business function from implementation details Purpose: Provide testware maintenance Test file call Test file call Test file Test case Compare Action Action Action Action Action … … Test phase Reset phase Test case Test case Test case == definition part ======================== Use case Test case callTest case call Test case call Use case Test case callTest case call Test case call Use case Test case callTest case call Test case call == control part ============================== TEST LIBRARIES TEST CONTAINERS TEST SCRIPTS Object Test Harness Auto 26