Formalising Testing Framework and Approach
@alelom is already working on this.
Since Feb 5, 2020.
Assessment
This issue has not been assessed yet.
Description
Introducing a greater breakdown and categorisation of our various testing scripts and procedures to enable further scaling and automation beyond our current CI and compliance.
Below is a first list of, I think, the key categories that we need to focus on. Not all will be fully automated in the first instance and priorities will vary naturally.
Listed below for comments/input and then more granular plans to be formulated around each as needed.
Focus on Interoperability Test for 3.1 Milestone as discussed and planned.
I. Compliance
- Development Process Compliance Tests
- e.g. branch naming, issue and PR template checks, label checking etc.
- Code Compliance Tests
- Review
BHoM_Testrepo andCompliance_Test , Coverage_Testetc. - Creation of Wiki - explaining BHoM Compliance which can hyperlink to each encoded Compliance Test for clarity and transparency for all developers.
- Review
II. Functionality
- Data-driven Unit Tests
- datasets required of serialised method base, input & expected output as per our
BH.oM.Testing.UnitTest - Generation of dataset as per previous gh approach to be revisited and polished
- datasets required of serialised method base, input & expected output as per our
- Interoperability Tests
- In the first instance - scripts testing each of the implemented BHoM_Adapter functionality
- Issue Tests
- As currently created to enable review of each PR.
Issue_Tests guidelines and best practice to be developed further to enable associated Regression Tests where appropriate
- As currently created to enable review of each PR.
- Regression Tests
- Ensuring fixed bugs do not reappear. Ensuring previous working features do not break for subsequent Betas
- Regression Tests are not necessarily a separate type of test - but keen to include as a discrete category to be be included in our process of ongoing development of tests and integrated into process of raising and successfully closing PR.
- Macro Tests
- any combination of the above
- Backwards Compatibility Tests
- Tests targeting deserialisation of previous versions of BHoM.
- Potential to include creation as part of deprecation
- Performance tests
- Define metric of speed and checking that subsequent PRs are not X times slower to run tests
III. System
- Installer Testing
- Works on end user machine
- Metrics and licencing etc. information is correct.
- Validation that installer accurately recreates BHoM environment on
mastersay
- Environment Testing
- Both code developer and end user (see above)
IV. User Testing
- Beta Testing
- Formalised and focused user testing as part of Beta Release process
- Comms around best practice raising of issues/ideas from wider user community beyond release, and with Beta in the wild. To all encourage engagement
- Sample Testing
- Checking key samples are all still working for each release
- Dominant language
- C#
- Stars
- 0
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from BHoM/Test_Toolkit
-
type:feature
Difficulty 3/5 1-2 days Newbie friendliness 45/100
BHoM/Test_Toolkit#552 ·
-
type:bug
BHoM/Test_Toolkit#550 · 1 assignee ·
-
type:compliance
BHoM/Test_Toolkit#547 · 1 assignee ·
-
type:feature
BHoM/Test_Toolkit#530 · 3 assignees ·
-
type:feature
Difficulty 4/5 3-5 days Newbie friendliness 45/100
BHoM/Test_Toolkit#526 ·
All issues in BHoM/Test_Toolkit
Similar issues
-
type/automation type/tech-debt
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
t/bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
ci-failure-cause test-failure
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
area:auth FE mvp P3
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
klasolsson81/jobbliggaren#1788 ·