SlideShare a Scribd company logo
1© 2019 Nagarro – All rights reserved
by Christina Hauk and Thomas Goldberger
Software Quality
without Testing
2
The truth about Quality
3
"We ensure quality
because we provide
automated tests."
often heard…
4
often heard…
"It’s too expensive and
takes too much time
to write unit tests."​
5
often heard…
"We’ve qualified testers who
verify that our software
behaves as expected."​
6
often heard…
"It’s just a Proof of Concept but
we’d like to use ​it productive
as soon as possible"
7
The Buzzword Quality
8
#1
Quality Characteristics
What is Quality?
9
Our Building Blocks for Quality
10
Why is it so hard to define Quality?
Quality is subjective!
• People in IT are rather analytic
o How to measure?
o What to measure?
o Is it relevant if it isn’t measurable?
• Quality is often defined by client or end-user
o They “feel” if something is good
o They don’t measure
• Quality for stakeholder and end-user is:
o If it feels secure
o If it is beautiful
o Intuitive and working
o They don’t care about the implementation of a very complex algorithm
in five readable lines of code.
11
We need metrics ...
… to define quality (objective quality)
• Metrics will give us the possibility to define
quality gates in a CI/CD pipeline
• We gain a better understanding for
software when using kpi’s like:
o Code-Coverage (Unit-Test)
o Path- Coverage (Unit-, Integration test)
o Story mapping (Ui-, Integration-, Unit-
test)
o Amount of defects/bugs found
o Mean time to recovery/repair (MTTR)
• False sense of security
• Metrics could deliver wrong picture of
software quality
o Number of tests vs. meaningful tests
o 80% Code-Coverage dosen‘t mean
that 80% of fuctions/methods are
properly tested.
Pro
Con
12
Who is responsible for quality?
#2
Quality Assurance
13
The Software Quality Hopper: The frame
Expectations and Ideas
Project Type Requirements The Team
Acceptance CriteriaInfrastructure Team Spirit
Tooling
Software Architecture
Coding Guidelines Clean Code & SOLID Principles
The Software
the frame
14
The Team
The team enables software quality – not only the automation / quality engineer.
Quality depends on team work.
15
The Requirements of the Software Project
"How to describe requirements?"
Ideas &
Expectations
Epics
User Story User Story
User Story User Story
Acceptance Criteria Acceptance Criteria
Acceptance CriteriaAcceptance Criteria
Tasks Tasks
Tasks Tasks
WHAT
HOW
16
The Software Project Type
What do we engineer?
Evaluate an idea / business caseEvaluate an idea / business case
Proof of Concept (PoC)
Pilot
Prototype
17
The Timeline of a Project Type
What do we engineer?
18
The Quality Level of a Project Type
How to enable quality?
RequirementsLevel 1
Level 2
Level 3
Level 4
Level 5
Infrastructure
Manual Deployment
Code Quality Performance
Security Compliance
Level 6 Deployment via CI / CD Pipelines
Level 7 Automated Tests
PoC
Prototype
Pilot / MVP
Green Field ProjectRefactoring
Legacy Project
19
Software is always testable, right?!
#3
Quality in Action
20
The Software Quality Hopper: Action
Expectations and Ideas
Project Type Requirements The Team
Acceptance CriteriaInfrastructure Team Spirit
Tooling
Software Architecture
Coding Guidelines Clean Code & SOLID Principles
The Software
21
The Tooling: Environment
• Develop in a 'nutshell'
• Environment must be
o Self-contained
o Free from external influences
o Controlled by the developer(s)
• Provide different development stages
• Recommendations:
o Use a local development environment (local
configuration = almost productive configuration)
o Use Container
o DevOps (not only tools, but also mindset)
o First (local) environment, second development
Development stages:
LOCAL
DEV
TEST
STAGING
PROD
on your local machine
on a server - private
on a server - private
on a server - private
on a server - public
developer
developers
automation engineer
operations
operations
last quality gate – productive like environment
DevOps
22
The Tooling: CI / CD Pipelines
23
Software Architecture
Following Levels should be considered:
• Environment level
o Microservices
o Build / orchestration environment
• Solution level
o Patterns (particularly abstractions)
o Project structure (feature-oriented vs. file-
type-oriented)
o Technology stack (e.g. frameworks)
• File level
o File structure (order of properties, pubic,
protected, private methods etc.)
o One method = one behavior
o Coding Guidelines
o Clean Code & SOLID
Web app
Backend
API
Database
environment level – e.g. kubernetes
solution level
file level
Elasticsearch
24
Coding Guidelines
• Why?
o Raise and ensure readability
o Prevent misunderstandings and confusion
o Clear framework
• Coding Guidelines – most important
o Naming Conventions
(e.g. names of variables, methods/functions)
o Maximum lines of a file and maximum lines of
a method / function / class
• Recommendations:
o Define coding guidelines together in a team
o Use it together with linters
o Take a look at https://cssguidelin.es/#syntax-
and-formatting
25
Clean Code & SOLID
• Read the book Clean Code by Rober C. Martin
• Read Blogs and involve yourself in discussions about Clean Code
• Live and breath Clean Code
• The same goes for SOLID
o Single Responsibility Principle
o Open – Close Principle
o Liskov substitution Principle
o Interface segregation Principle
o Dependency inversion Principle
• You will make your life easier if your code is maintainable and readable
• And last but not least …
26
Clean Code & SOLID
27
Always remember....
#4
The Message
28
Always remember…
• Quality has numerous facets…
o …it is multilayered
o …has a subjective character
o …can be ensured in a performing team
• Quality needs…
o …a frame
o …practice
o …a mindset
• Never forget …
o …your code quality
o …your tooling and it’s setup
o …your team communication
29Nagarro GmbH | Vienna / Austria | +43 1 409 58 90-0 | www.nagarro.com
Christina Hauk
@HaukChristina
@T_Goldberger
Thomas Goldberger
30
Sources Images
• https://sonin.agency/the-4ps-innovation-model-poc-prototype-pilot-production/
• https://de.toonpool.com/cartoons/Controlled%20Quality_28355
• https://salopekconsulting.com/hr-metrics-measure/
• http://clipart-library.com/cartoon-teachers.html
• https://blog.callr.tech/gitlab-ansible-docker-ci-cd/
• https://nohat.cc/f/boy-giving-a-present-to-a-girl/4587236330831872-201809041452.html
• https://app.hedgeye.com/insights/37389-cartoon-of-the-day-pied-piper?type=cartoons
• https://unixtitan.net/explore/group-of-friends-having-fun-clipart/
• https://wavelength.asana.com/develop-effective-communication/
• http://teamsofv.blogspot.com/2013/11/winterpause-joggingzeit.html
• http://i.imgur.com/T0gOgrX.png
• https://images-na.ssl-images-amazon.com/images/I/515iEcDr1GL._SX385_BO1,204,203,200_.jpg

More Related Content

PPTX
Digital Product Security
PDF
Spirent Accelerating SDN and NFV Deployments
PPTX
Spirent: The Internet of Things: The Expanded Security Perimeter
PPTX
Testing Tools and Tips
PPTX
ATAGTR2017 Batch Workload Modelling and Performance Optimization
PPTX
Introducing testing cloud services - Transformation to SaaS
PDF
ABAP Test Cockpit in action with Doctor ZedGe and abap2xlsx
PDF
The Qa Testing Checklists for Successful Cloud Migration
Digital Product Security
Spirent Accelerating SDN and NFV Deployments
Spirent: The Internet of Things: The Expanded Security Perimeter
Testing Tools and Tips
ATAGTR2017 Batch Workload Modelling and Performance Optimization
Introducing testing cloud services - Transformation to SaaS
ABAP Test Cockpit in action with Doctor ZedGe and abap2xlsx
The Qa Testing Checklists for Successful Cloud Migration

What's hot (19)

PPTX
PLNOG14: SteelCentral NPM Solution - Tomasz Winiarski
PPTX
Microservice Monitoring and Quality Management for Modern Apps and Infrastruc...
PDF
Open Source Security for Newbies - Best Practices
PDF
Proactive Security AppSec Case Study
PPTX
Splitting the Check on Compliance and Security
PDF
FLIGHT WEST 2018 Presentation - Open Source License Management in Black Duck Hub
PPTX
Static Application Security Testing Strategies for Automation and Continuous ...
PDF
Best Practices for Ensuring SAP ABAP Code Quality and Security
PDF
Infrastructure as code with test approach
PDF
FLIGHT WEST 2018 - Presentation - SCA 101: How to Manage Open Source Security...
PDF
From Gates to Guardrails: Alternate Approaches to Product Security
PDF
Algosec 5 more_things_you_can_do_with_a_security_policy_management_solution
PDF
Devops security-An Insight into Secure-SDLC
PPTX
To Open Banking and Beyond: Developing APIs that are Resilient to every new I...
PDF
NetWrix Change Reporter Suite - Product Review by Don Jones
PPT
FLIGHT Amsterdam Presentation - From Protex to Hub
PDF
AppSec in an Agile World
PDF
Pactera - App Security Assessment - Mobile, Web App, IoT - v2
PPTX
Top 5 identity management challenges and solutions
PLNOG14: SteelCentral NPM Solution - Tomasz Winiarski
Microservice Monitoring and Quality Management for Modern Apps and Infrastruc...
Open Source Security for Newbies - Best Practices
Proactive Security AppSec Case Study
Splitting the Check on Compliance and Security
FLIGHT WEST 2018 Presentation - Open Source License Management in Black Duck Hub
Static Application Security Testing Strategies for Automation and Continuous ...
Best Practices for Ensuring SAP ABAP Code Quality and Security
Infrastructure as code with test approach
FLIGHT WEST 2018 - Presentation - SCA 101: How to Manage Open Source Security...
From Gates to Guardrails: Alternate Approaches to Product Security
Algosec 5 more_things_you_can_do_with_a_security_policy_management_solution
Devops security-An Insight into Secure-SDLC
To Open Banking and Beyond: Developing APIs that are Resilient to every new I...
NetWrix Change Reporter Suite - Product Review by Don Jones
FLIGHT Amsterdam Presentation - From Protex to Hub
AppSec in an Agile World
Pactera - App Security Assessment - Mobile, Web App, IoT - v2
Top 5 identity management challenges and solutions
Ad

Similar to Software Quality without Testing (20)

PPTX
Clean Code III - Software Craftsmanship
PPTX
A Roadmap to Enterprise Quality
PDF
Code Inspection
PDF
Automated Code Reviews with AI and ML - DevOps Next
PDF
Precise and Complete Requirements? An Elusive Goal
PPTX
Capability Building for Cyber Defense: Software Walk through and Screening
PPTX
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
PDF
Tec314f
POT
Quality metrics and angular js applications
PDF
Leveraging AI and ML in Test Management Systems - DevOps Next
PPTX
Reduce Third Party Developer Risks
PDF
How AI supports software testing at Kokkola
PDF
What designers can learn from (code) review
ODP
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
PPTX
Slides for Houston iPhone Developers' Meetup (April 2012)
 
PDF
Friday final test
PDF
It is a sunny day
PDF
Mobile Code Optimisation Services
PDF
Clean Infrastructure as Code
PPTX
5 Ways to Reduce 3rd Party Developer Risk
Clean Code III - Software Craftsmanship
A Roadmap to Enterprise Quality
Code Inspection
Automated Code Reviews with AI and ML - DevOps Next
Precise and Complete Requirements? An Elusive Goal
Capability Building for Cyber Defense: Software Walk through and Screening
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Tec314f
Quality metrics and angular js applications
Leveraging AI and ML in Test Management Systems - DevOps Next
Reduce Third Party Developer Risks
How AI supports software testing at Kokkola
What designers can learn from (code) review
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Slides for Houston iPhone Developers' Meetup (April 2012)
 
Friday final test
It is a sunny day
Mobile Code Optimisation Services
Clean Infrastructure as Code
5 Ways to Reduce 3rd Party Developer Risk
Ad

More from Nagarro (20)

PPTX
How Generative AI is shaping a sustainable future in Energy & Utilities
PDF
Testing the Migration of Monolithic Applications to Microservices on the Cloud
PDF
Intelligent automation beyond test execution
PDF
Flutter: An open-source UI software development kit
PDF
Remote Collaboration: Working Canvas
PDF
Remote Collaboration: Working and Leading from Home
PDF
Chatbot testing
PDF
10 Gründe, warum Ihre Testautomatisierung zum Scheitern verurteilt ist
PDF
Integrating AI in software quality in absence of a well-defined requirements
PDF
Intelligent Digital Mesh Testing
PPTX
Advanced Test Automation: Agile Model
PDF
Testing @ digital speed
PDF
How to get started? Digital Transformation: A Down-to-Earth Approach
PDF
Connecting the dots – Industrial IoT is more than just sensor deployment
PDF
A walk through the AI Use Cases in the Connected Enterprise
PDF
Cloud-enabled analytics
PDF
Why Cloud Computing is mandatory for Connected Enterprise
PDF
Testing Microservices
PDF
Are Your Mobile Apps Secure? (Part I)
PDF
Mobile Apps and Security Attacks: An Introduction
How Generative AI is shaping a sustainable future in Energy & Utilities
Testing the Migration of Monolithic Applications to Microservices on the Cloud
Intelligent automation beyond test execution
Flutter: An open-source UI software development kit
Remote Collaboration: Working Canvas
Remote Collaboration: Working and Leading from Home
Chatbot testing
10 Gründe, warum Ihre Testautomatisierung zum Scheitern verurteilt ist
Integrating AI in software quality in absence of a well-defined requirements
Intelligent Digital Mesh Testing
Advanced Test Automation: Agile Model
Testing @ digital speed
How to get started? Digital Transformation: A Down-to-Earth Approach
Connecting the dots – Industrial IoT is more than just sensor deployment
A walk through the AI Use Cases in the Connected Enterprise
Cloud-enabled analytics
Why Cloud Computing is mandatory for Connected Enterprise
Testing Microservices
Are Your Mobile Apps Secure? (Part I)
Mobile Apps and Security Attacks: An Introduction

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Encapsulation theory and applications.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Cloud computing and distributed systems.
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
“AI and Expert System Decision Support & Business Intelligence Systems”
Building Integrated photovoltaic BIPV_UPV.pdf
Understanding_Digital_Forensics_Presentation.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Encapsulation theory and applications.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Machine learning based COVID-19 study performance prediction
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Unlocking AI with Model Context Protocol (MCP)
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
sap open course for s4hana steps from ECC to s4
Programs and apps: productivity, graphics, security and other tools
Spectral efficient network and resource selection model in 5G networks
Network Security Unit 5.pdf for BCA BBA.
Cloud computing and distributed systems.
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Encapsulation_ Review paper, used for researhc scholars
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm

Software Quality without Testing

  • 1. 1© 2019 Nagarro – All rights reserved by Christina Hauk and Thomas Goldberger Software Quality without Testing
  • 3. 3 "We ensure quality because we provide automated tests." often heard…
  • 4. 4 often heard… "It’s too expensive and takes too much time to write unit tests."​
  • 5. 5 often heard… "We’ve qualified testers who verify that our software behaves as expected."​
  • 6. 6 often heard… "It’s just a Proof of Concept but we’d like to use ​it productive as soon as possible"
  • 9. 9 Our Building Blocks for Quality
  • 10. 10 Why is it so hard to define Quality? Quality is subjective! • People in IT are rather analytic o How to measure? o What to measure? o Is it relevant if it isn’t measurable? • Quality is often defined by client or end-user o They “feel” if something is good o They don’t measure • Quality for stakeholder and end-user is: o If it feels secure o If it is beautiful o Intuitive and working o They don’t care about the implementation of a very complex algorithm in five readable lines of code.
  • 11. 11 We need metrics ... … to define quality (objective quality) • Metrics will give us the possibility to define quality gates in a CI/CD pipeline • We gain a better understanding for software when using kpi’s like: o Code-Coverage (Unit-Test) o Path- Coverage (Unit-, Integration test) o Story mapping (Ui-, Integration-, Unit- test) o Amount of defects/bugs found o Mean time to recovery/repair (MTTR) • False sense of security • Metrics could deliver wrong picture of software quality o Number of tests vs. meaningful tests o 80% Code-Coverage dosen‘t mean that 80% of fuctions/methods are properly tested. Pro Con
  • 12. 12 Who is responsible for quality? #2 Quality Assurance
  • 13. 13 The Software Quality Hopper: The frame Expectations and Ideas Project Type Requirements The Team Acceptance CriteriaInfrastructure Team Spirit Tooling Software Architecture Coding Guidelines Clean Code & SOLID Principles The Software the frame
  • 14. 14 The Team The team enables software quality – not only the automation / quality engineer. Quality depends on team work.
  • 15. 15 The Requirements of the Software Project "How to describe requirements?" Ideas & Expectations Epics User Story User Story User Story User Story Acceptance Criteria Acceptance Criteria Acceptance CriteriaAcceptance Criteria Tasks Tasks Tasks Tasks WHAT HOW
  • 16. 16 The Software Project Type What do we engineer? Evaluate an idea / business caseEvaluate an idea / business case Proof of Concept (PoC) Pilot Prototype
  • 17. 17 The Timeline of a Project Type What do we engineer?
  • 18. 18 The Quality Level of a Project Type How to enable quality? RequirementsLevel 1 Level 2 Level 3 Level 4 Level 5 Infrastructure Manual Deployment Code Quality Performance Security Compliance Level 6 Deployment via CI / CD Pipelines Level 7 Automated Tests PoC Prototype Pilot / MVP Green Field ProjectRefactoring Legacy Project
  • 19. 19 Software is always testable, right?! #3 Quality in Action
  • 20. 20 The Software Quality Hopper: Action Expectations and Ideas Project Type Requirements The Team Acceptance CriteriaInfrastructure Team Spirit Tooling Software Architecture Coding Guidelines Clean Code & SOLID Principles The Software
  • 21. 21 The Tooling: Environment • Develop in a 'nutshell' • Environment must be o Self-contained o Free from external influences o Controlled by the developer(s) • Provide different development stages • Recommendations: o Use a local development environment (local configuration = almost productive configuration) o Use Container o DevOps (not only tools, but also mindset) o First (local) environment, second development Development stages: LOCAL DEV TEST STAGING PROD on your local machine on a server - private on a server - private on a server - private on a server - public developer developers automation engineer operations operations last quality gate – productive like environment DevOps
  • 22. 22 The Tooling: CI / CD Pipelines
  • 23. 23 Software Architecture Following Levels should be considered: • Environment level o Microservices o Build / orchestration environment • Solution level o Patterns (particularly abstractions) o Project structure (feature-oriented vs. file- type-oriented) o Technology stack (e.g. frameworks) • File level o File structure (order of properties, pubic, protected, private methods etc.) o One method = one behavior o Coding Guidelines o Clean Code & SOLID Web app Backend API Database environment level – e.g. kubernetes solution level file level Elasticsearch
  • 24. 24 Coding Guidelines • Why? o Raise and ensure readability o Prevent misunderstandings and confusion o Clear framework • Coding Guidelines – most important o Naming Conventions (e.g. names of variables, methods/functions) o Maximum lines of a file and maximum lines of a method / function / class • Recommendations: o Define coding guidelines together in a team o Use it together with linters o Take a look at https://cssguidelin.es/#syntax- and-formatting
  • 25. 25 Clean Code & SOLID • Read the book Clean Code by Rober C. Martin • Read Blogs and involve yourself in discussions about Clean Code • Live and breath Clean Code • The same goes for SOLID o Single Responsibility Principle o Open – Close Principle o Liskov substitution Principle o Interface segregation Principle o Dependency inversion Principle • You will make your life easier if your code is maintainable and readable • And last but not least …
  • 28. 28 Always remember… • Quality has numerous facets… o …it is multilayered o …has a subjective character o …can be ensured in a performing team • Quality needs… o …a frame o …practice o …a mindset • Never forget … o …your code quality o …your tooling and it’s setup o …your team communication
  • 29. 29Nagarro GmbH | Vienna / Austria | +43 1 409 58 90-0 | www.nagarro.com Christina Hauk @HaukChristina @T_Goldberger Thomas Goldberger
  • 30. 30 Sources Images • https://sonin.agency/the-4ps-innovation-model-poc-prototype-pilot-production/ • https://de.toonpool.com/cartoons/Controlled%20Quality_28355 • https://salopekconsulting.com/hr-metrics-measure/ • http://clipart-library.com/cartoon-teachers.html • https://blog.callr.tech/gitlab-ansible-docker-ci-cd/ • https://nohat.cc/f/boy-giving-a-present-to-a-girl/4587236330831872-201809041452.html • https://app.hedgeye.com/insights/37389-cartoon-of-the-day-pied-piper?type=cartoons • https://unixtitan.net/explore/group-of-friends-having-fun-clipart/ • https://wavelength.asana.com/develop-effective-communication/ • http://teamsofv.blogspot.com/2013/11/winterpause-joggingzeit.html • http://i.imgur.com/T0gOgrX.png • https://images-na.ssl-images-amazon.com/images/I/515iEcDr1GL._SX385_BO1,204,203,200_.jpg