Idea Flow
Models
Idea Flow
  • Welcome!
    • Why Models?
    • Why Principles?
  • Agility & Transformations
    • Intro to Agile
      • What Does Agile Mean?
      • What Is An Agile Mindset?
    • Intro to Transformation
      • Why Transform?
      • How Is The Transformation Done?
      • Who Transforms?
      • Which Areas or Functions Transform?
      • How Long Does A Transformation Take?
  • Agile Transformation (Idea Model)
    • Intro to IDEA
      • Leadership-Strip (Tanzaku)
      • Managing The Change
      • Metrics
      • Coaching Plan
        • Coaching Assessment
    • Initial Exposure
      • Training & Coaching
      • Assessment
    • Develop Basics
      • Training & Coaching
      • Assessment
    • Evolve & Reflect
      • Training & Coaching
      • Assessment
    • Accelerate & Kaizen
      • Training & Coaching
      • Assessment
  • Delivery Approach (Flow Model)
    • Intro to Flow
      • Flow of Work
      • Dev Sec Ops
    • Conceptualise
      • Purpose
      • Inputs
      • Process
      • Outputs
    • Commence
      • Purpose
      • Inputs
      • Process
      • Outputs
    • Construct
      • Purpose
      • Inputs
      • Process
      • Outputs
    • Confirm
      • Purpose
      • Inputs
      • Process
      • Outputs
    • Complete
      • Process
      • Outputs
    • Check
      • Process
  • Scrum, Kanban & Other Agile Frameworks
    • Double-Loop Scrum
    • Kanban
  • 3D Work-Breakdown
    • Intro to Work Breakdown
    • Direction
    • Discovery
    • Delivery
    • Flow & 3D Work-Breakdown
  • Roles & Responsibilities
    • Overview
      • Trust Circles
      • Enterprise View
    • Core Team Roles
      • Scrum Master / Iteration Manager
      • Product Owner
      • Developer
      • Tester
      • Business Analyst
      • Infrastructure
    • Extended Team Roles
      • Product Manager
      • Test Lead
      • Tech Lead
      • Subject Matter Expert (SME)
      • UX/UI Designer
      • Infrastructure Lead
      • Project Manager
      • Solution Architect
      • Delivery Manager
      • Change Analyst
    • Trusted Advisor Roles
      • Project Sponsor
      • Stakeholders
  • Topics
    • Prioritisation
    • Estimation
      • Estimation Overview
      • Epic Estimation
      • Initiative Estimation
    • Planning
      • Sprint / Iteration Planning
      • Release Planning
      • Quarterly Planning
      • Problem Statement
    • Ceremonies
      • Showcase
      • Scrum of Scrums
      • Stand-up
      • Retrospective
      • Elicitation
      • Elaboration
      • Acceptance Criteria (AC)
    • Artefacts
      • Tech Spike
      • Definition of Done
      • Social Contract
      • Personas
      • Lean Canvas
      • User Stories
    • Toolkit
      • Success Sliders
      • ICaRuS Scoring
      • Accountability Cards
    • Quality
      • Test Strategy
      • Test Plan
      • Quality Attribute Definitions
      • Test Type Definitions
      • Regression Test Suite Definitions
      • Defect Definitions
      • Defect Severity
      • Defect Priority
      • Agile Testing Quadrants
      • Risk-Based Testing
    • Templates
      • 3rd Party Handover Template
      • Audit Logs
    • Data
      • Information Management
    • Kanban
  • Agile Testing (4Aces Model)
    • Intro to Agile Testing
      • Test Principles
        • Test Automation Principles
      • Test Artefacts
      • Test Triangle
      • Agile Testing Quadrant
    • Arrange
    • Act
    • Assert
    • Annihilate
  • INCIDENT MANAGEMENT (TRACeR MODEL)
    • Intro to TRACeR
      • What is Incident Management
      • Incident Management Workflow
    • Triage
    • Review
    • Action
    • Check
    • Resolve
  • Change Management (3C Change Model)
    • Intro to 3C Change
      • What is Change?
      • What is Change Management?
      • 7Rs of Change Management
      • Model States
      • Implementation
    • Capture
      • Priority
      • Experience
      • Impact
      • Change Types
    • Consider
      • Risk
    • Conduct
      • Plan
        • Change Activities Matrix
      • Perform
        • Rollback or Roll-forward
      • Prove
        • Change Result/Status
  • Faciliation
    • Intro to Faciliation
      • Agile Facilitation
      • Planning and Running a Workshop
    • Meetings
      • Meeting Prep
    • Workshops
      • Quarterly Planning Workshop
      • Integrated Culture Workshop
    • Games
      • Dice Game
      • Battleships
      • Kanban Pizza Game
    • Icebreakers
      • Check Your Personal Thinking Style
  • Agile Coaching (A6 Model)
    • Intro to Coaching
    • Agree
    • Address
    • Assess
    • Align
    • Assign
    • Account
  • Agile Leadership
    • Intro to Agile Leadership
  • Strategy
    • What is Strategy?
    • What is Vision?
    • What is a Mission?
    • What are Values and Drivers?
    • Intent-based Outcomes
    • MunroMaps
  • OKRA
    • OKRS + ACTIONS = OKRA
      • Implementation
      • Cycle Cadence
    • Objectives
      • OKRs
    • Key Results
    • Actions
  • Agile Software Architecture (C4 Model)
    • Intro to Architecture
      • Role of the Architect
      • SOLID Principles
      • DRY Principle
      • Single Source of Truth (SSOT)
    • Context
      • Examples
    • Container
      • Examples
    • Component
      • Examples
    • Code
      • Examples
    • Patterns
      • Back-end for Front-end (BFF)
      • Event-Driven Microservices
  • Portfolio Management (PMO Practice Model)
    • Intro to Portfolio Management
      • Practices & Flow
      • Objectives
      • Types
      • Maturity Assessment
      • Setting Up
        • Charter
    • Demand Practice
    • Risk Practice
    • Performance Practice
      • Cost of Delay (CoD)
      • Metrics
    • Report Practice
    • Delivery Practice
    • Asset Practice
    • Change Practice
  • RAFT
    • RAFT Framework
  • Tools
    • Jira
      • Best Practice
      • Printing Physical Cards
    • Confluence
      • Best Practice
      • Example Confluence Layout
    • Power BI
      • Power Query M
    • Miro
      • Best Practice
  • FAQs
    • Frequently Asked Questions
    • Glossary of Terms
  • Thanks & Contributors
    • Thanks
    • License
Powered by GitBook
On this page
  • Unit Test (UT)
  • Integration Test (INT)
  • Contract Test (CT)
  • Exploratory Test
  • Acceptance Test (AT)
  • System Test (ST)
  • End to End Test (E2E)
  • Penetration Test (PEN)
  • Synthetic Test (SYN)
  • References

Was this helpful?

  1. Topics
  2. Quality

Test Type Definitions

We use this to ... so that we can ...

Unit Test (UT)

  • Low-level, focusing on a small part of the software such as a Java class or Angular component together with associated collaborators

  • Usually written by developers or perhaps software engineers in test, using their regular IDEs and testing frameworks such as IntelliJ, JUnit, VS Code and JEST

  • Run faster than any other kind of test, allowing a suite of thousands of unit tests to be run in a few seconds

  • Very scalable

  • Automatable

  • The primary facilitating mechanism for refactoring

Integration Test (INT)

  • Determine if independently developed units of software work correctly when they are connected to each other.

  • Focusing on larger groups of collaborating Java classes or Angular components together with I/O dependencies such as databases or network connections.

  • I/O dependencies should not made at the expense of execution speed - for example a fast running in memory or local docker database can be leveraged over a hosted development database or a Contract Test to mock out an API endpoint

  • Usually written by developers or perhaps software engineers in test, using their regular IDEs and testing frameworks such as IntelliJ and junit or VS Code and jasmine.

  • Run fast allowing a suite of hundreds or thousands (depending on I/O dependencies) of integration tests to be run in a few seconds

  • Very scalable

  • Primary facilitating mechanism for refactoring

Contract Test (CT)

  • Similar to an integration test used specifically for the purpose of ensuring that a pair of applications will work correctly together by checking each application in isolation to ensure the messages it sends or receives conform to a shared understanding that is documented in a "contract”.

  • The network dependency is mocked by the contract broker so contract tests run fast

  • Usually written by developers or perhaps software engineers in test, using their regular IDEs and testing frameworks such as IntelliJ and junit or VS Code and jasmine.

  • Run fast allowing a suite of hundreds or thousands of contract tests to be run in a few seconds

  • Very scalable

  • Primary facilitating mechanism for refactoring interdependent services independently of one another

Exploratory Test

  • An exploratory test is one which emphasizes a rapid cycle of learning, test design, and test execution. Rather than trying to verify that the software conforms to a pre-written test script, an exploratory test explores the characteristics of the software, raising discoveries that will then be classified as reasonable behaviour or failures.

Acceptance Test (AT)

  • Testing based on story card acceptance criteria to enable the tester (manual) or developer (automated) to determine whether or not the software is ready for consumption by the customer.

  • Scoped to a particular story only

  • Performed from the customer perspective - usually a UI (eg browser or DISC terminal) or an API client (eg CTM integration)

  • Maximum context and value with respect to customer requirement - significant determining factor in confidence of story definition of done

  • Slower than integration test as a local service together with supporting out of process collaborating services are necessary to exercise the code

  • As such, these tests are harder to maintain and scale

System Test (ST)

  • Similar to an Acceptance Test but instead requires live versions of one or many deployed services in hosted environments, requiring test environment and network access

  • Teams currently need to wait overnight before test subject is deployed to NXI or NXQ

  • Exercises code paths through one or many services and dependent services

  • Usually written by developers or perhaps software engineers in test, using their regular IDEs and testing frameworks such as IntelliJ and junit or VS Code and jasmine.

  • Run duration is an order of magnitude slower and largely determined by the scope of the execution path through the dependent services. A single system test could take between one and several seconds to run.

End to End Test (E2E)

  • Confirming that full user journey processes can be completed throughout the entire value stream. E.g Establish customer, Create/amend/service or renew a policy and lodge and process a claim

  • Scoped to a customer value stream

  • Performed from the customer perspective - usually a UI (eg browser or DISC terminal) or an API client (eg CTM integration)

  • Maximum context and value with respect to customer requirement - significant determining factor in level of confidence of working software

  • Very slow to run - depending on scope of test, execution duration can minutes to tens of minutes

  • Hard to maintain

  • Does not scale

  • Depending on implementation, can be repurposed for load testing

  • Automated or Manual

Penetration Test (PEN)

  • Authorised simulated cyber attack on a computer system, performed to evaluate the security of the system.

  • Automated or Manual

Synthetic Test (SYN)

  • Method of understanding how our call centre agents and customers experience our applications by proactively testing public production environment endpoints and 3rd party APIs such as payment gateways.

  • Automated

References

Last updated 2 years ago

Was this helpful?

https://martinfowler.com/bliki/UnitTest.html
https://martinfowler.com/bliki/IntegrationTest.html
https://pactflow.io/what-is-contract-testing-page/
https://martinfowler.com/bliki/ExploratoryTesting.html