Skip to content

Commit

Permalink
feat: Testcase and testplan templates (#466)
Browse files Browse the repository at this point in the history
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* feat: add proposal template wip

* fix

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* feat: add testplan template

* fixes

* markdown fix

* markdown fix
  • Loading branch information
kukkok3 committed May 8, 2024
1 parent 6e3c256 commit eb3a113
Show file tree
Hide file tree
Showing 10 changed files with 251 additions and 9 deletions.
5 changes: 3 additions & 2 deletions .config/dictionaries/project.dic
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,8 @@ mitigations
moderations
msedgedriver
multidex
multiplatform
Multiplatform
myproject
nanos
NDEBUG
Expand Down Expand Up @@ -154,6 +156,7 @@ SYSROOT
tacho
testcov
testdocs
testplan
testunit
thiserror
thollander
Expand Down Expand Up @@ -186,5 +189,3 @@ xctest
xctestrun
xcworkspace
yoroi
multiplatform
Multiplatform
55 changes: 55 additions & 0 deletions .github/ISSUE_TEMPLATE/test_case.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Test Case
description: Create a test case
title: "[Test Case]: <title>"
labels: ["testcase"]
projects: ["/input-output-hk/102"]
body:
- type: input
attributes:
label: Objective
description: A concise description of what we want to test.
validations:
required: true

- type: textarea
attributes:
label: References
description: Any useful references like github issues, jira epics.
validations:
required: false

- type: textarea
attributes:
label: Environment
description: The environment where to run the testcase
validations:
required: true

- type: textarea
attributes:
label: Preconditions
description: Any step or setup that is needed before running the testcase
validations:
required: false

- type: textarea
attributes:
label: Steps
description: The steps needed to complete the test
placeholder: |
| \# | Step description | Expected result |
| -- | ------------------------- | -------------------------------------------- |
| 1. | <what a tester should do> | <what a tester should see when they do that> |
| 2. | <what a tester should do> | <what a tester should see when they do that> |
validations:
required: true

- type: textarea
attributes:
label: Notes
description: |
Any additional information
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false
31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/test_plan.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Test Plan
description: Create a test plan
title: "[Test plan]: <title>"
labels: ["testplan"]
projects: ["/input-output-hk/102"]
body:
- type: input
attributes:
label: Objective
description: A concise description of the objective of the test plan.
validations:
required: true

- type: input
attributes:
label: Test plan document
placeholder: https://input-output-hk.github.io/catalyst-voices/architecture/10_quality/testplans/template.md
description: A link to the test plan document.
validations:
required: true

- type: textarea
attributes:
label: Test cases
description: The list of the test cases that are part of the test plan
placeholder: |
-[] https://github.com/input-output-hk/catalyst-voices/issues/1
-[] https://github.com/input-output-hk/catalyst-voices/issues/1
-[] https://github.com/input-output-hk/catalyst-voices/issues/1
validations:
required: true
3 changes: 1 addition & 2 deletions docs/src/architecture/.pages
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ nav:
- 07_deployment_view.md
- 08_concepts
- 09_architecture_decisions
- 10_quality_requirements.md
- 10_quality
- 11_technical_risks.md
- 12_glossary.md

1 change: 1 addition & 0 deletions docs/src/architecture/10_quality/.pages
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
title: Quality
7 changes: 7 additions & 0 deletions docs/src/architecture/10_quality/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
icon: material/thought-bubble
---

# Quality strategies

<!-- See: https://docs.arc42.org/section-10/ -->
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
icon: material/quality-high
---

# Quality Requirements (WIP)
# Quality Requirements

<!-- See: https://docs.arc42.org/section-10/ -->

Expand Down
3 changes: 3 additions & 0 deletions docs/src/architecture/10_quality/test_reports.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Test reports

* [Main branch test report](https://input-output-hk.github.io/catalyst-voices/allure-action/main/test-report/latest.html)
149 changes: 149 additions & 0 deletions docs/src/architecture/10_quality/testplans/template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
<!--
Based on: https://books.google.it/books?id=vHlTOVTKHeUC&hl=it&source=gbs_navlinks_s
https://testing.googleblog.com/2016/06/the-inquiry-method-for-test-planning.html
https://testing.googleblog.com/2011/09/10-minute-test-plan.html
-->

# Test Plan Template

> :memo: **Note:** Substitute with test plan name and link to the github testplan issue.
>
# [Test Plan Name](https://github.com/input-output-hk/catalyst-voices/issues/1)

> :memo: **Note:** This is meant to be only a guideline, the paragraphs can be removed or added as they fit.
* [General informations](#general-informations)
* [Abstract](#abstract)
* [Stakeholders](#stakeholders)
* [Requirements](#requirements)
* [Tools](#tools)
* [ACC framework](#acc-framework)
* [Attributes](#attributes)
* [Components](#components)
* [Capabilities](#capabilities)
* [Unit tests](#unit-tests)
* [Unit tests strategy](#unit-tests-strategy)
* [Unit test cases](#unit-test-cases)
* [Functional tests](#functional-tests)
* [Functional tests strategy](#functional-tests-strategy)
* [Functional test cases](#functional-test-cases)
* [Regression tests](#regression-tests)
* [Regression tests strategy](#regression-tests-strategy)
* [Regression test cases](#regression-test-cases)
* [Integration tests](#integration-tests)
* [Integration tests strategy](#integration-tests-strategy)
* [Integration test cases](#integration-test-cases)
* [End-to-end tests](#end-to-end-tests)
* [End-to-end tests strategy](#end-to-end-tests-strategy)
* [End-to-end test cases](#end-to-end-test-cases)

## General Informations

### Abstract

> :memo: **Note:** Describe the design and architecture of the system in a way that highlights possible points of failure
### Stakeholders

> :memo: **Note:** Insert the relevant stakeholders that need to understand, review and approve the test plan
| Role/Name | Contact | Approval |
|-----------------|----------------|----------------|
| *Product-Owner* | | |
| *Developers* | | |
| *Admin* | | |
| *SRE* | | |
| *Testers* | | |

### Requirements

> :memo: **Note:** Business requirements, insert links to relevant Github or JIRA tickets,
> list what platforms are supported, what will not be tested, etc
### Tools

> :memo: **Note:** Describe what tools will be needed for the testing, if new tools are needed to be developed
## ACC framework

> :memo: **Note:** Use the [ACC framework](https://testing.googleblog.com/2011/09/10-minute-test-plan.html)
> to help you define the test cases
### Attributes

> :memo: **Note:** The adverbs and adjectives that describe the high level concepts testing is meant to ensure.
> Attributes such as fast, usable, secure, accessible and so forth.
> The quality metrics document in this repo should and can be used as a guideline
### Components

> :memo: **Note:** The nouns that define the major code chunks that comprise the product.
These are classes, module names and features of the application.

### Capabilities

> :memo: **Note:** The verbs that describe user actions and activities.
> Every capability should be testable.
## Unit tests

### Unit tests strategy

> :memo: **Note:** Evaluate new features and bug fixes introduced in this release, and the extent of the unit tests
### Unit test cases

| \# | OBJECTIVE | INPUT | EXPECTED RESULTS | TO BE AUTOMATED |
| --- | --------- | ----- | ---------------- | --------------- |
| 1 | | | | |

## Functional tests

### Functional tests strategy

> :memo: **Note:** Evaluate new features introduced in this release, and the extent of the functional tests
### Functional test cases

| \# | OBJECTIVE | INPUT | EXPECTED RESULTS | TO BE AUTOMATED |
| --- | --------- | ----- | ---------------- | --------------- |
| 1 | | | | |

## Regression tests

### Regression tests strategy

> :memo: **Note:** Ensure that previously developed and tested software still performs after change.
### Regression test cases

| \# | OBJECTIVE | INPUT | EXPECTED RESULTS | TO BE AUTOMATED |
| --- | --------- | ----- | ---------------- | --------------- |
| 1 | | | | |

## Integration tests

### Integration tests strategy

> :memo: **Note:** Evaluate all integrations with other functions, services etc.
### Integration test cases

| \# | OBJECTIVE | INPUT | EXPECTED RESULTS | TO BE AUTOMATED |
| --- | --------- | ----- | ---------------- | --------------- |
| 1 | | | | |

## End-to-end tests

### End-to-end tests strategy

> :memo: **Note:** Evaluate how will test infrastructure, systems under test, and other dependencies be managed?
> How will they be deployed?
> How will persistence be set-up/torn-down?
> How will you handle required migrations from one datacenter to another?
### End-to-end test cases

| \# | OBJECTIVE | INPUT | EXPECTED RESULTS | TO BE AUTOMATED |
| --- | --------- | ----- | ---------------- | --------------- |
| 1 | | | | |
4 changes: 0 additions & 4 deletions docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,3 @@ icon: material/chat

* [MkDocs](https://www.mkdocs.org)
* [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/)

## Test reports

* [Main test report](https://input-output-hk.github.io/catalyst-voices/allure-action/main/test-report/latest.html)

0 comments on commit eb3a113

Please sign in to comment.