January 20, 2021
�FOLIO QA Initiatives 2021
| www.folio.org
1
Agenda
| www.folio.org
2
Proposed Measures for FOLIO Quality Improvements in 2020
Done | Prototype CI/CD pipeline with additional build(test) steps |
Done | Rollout Scratch Environments for all dev teams |
Done | Achieve 80% unit test coverage |
Done | Finish FOLIO performance test system |
Partial | Finish end-2-end functional test |
Cancel | Move current API performance tests into respective module pipelines |
Cancel | Finish updating CI/CD pipelines for Platform Complete modules |
Cancel | Implement contract tests for modules calling Core modules APIs. |
Not started | Introduce industrial-grade infrastructure layer for Logging, Journaling, Monitoring |
Not started | DevOps infrastructure for automated schema migrations testing |
Not started | Identify a tool and create prototype for security testing |
| www.folio.org
3
Assessment goals
| www.folio.org
4
QA Audit - Key Findings
TESTING
DOCUMENTATION
PROCESS
| www.folio.org
5
QA Audit → Improvement Direction is Right. However...
| www.folio.org
6
Last Day of Bug Fest Q3
| www.folio.org
7
Defect Containment Efficiency
| Q2 | Q3 |
Support | 16 | 17 |
HotFix Releases | 69 | 4 |
After Bug Fest Start | 77 | 144 |
Before Bug Fest * | 86 | 69 |
Total | 248 | 234 |
| | |
| | |
DCE After GA | 93.55% | 92.74% |
DCE before BF | 34.68% | 29.49% |
Target 95% | | |
* Not all bugs are filed before BugFest,
but BugFest defect count is still high
| www.folio.org
8
Release Capacity Allocated for Bugs
| www.folio.org
9
Current Process
SCRATCH
ENVIRONMENT
REFERENCE
ENVIRONMENT
Cover both BE & FE with Unit tests (DoD)
Create test cases in TestRail
Stories Acceptance
Developers
Automated
Product Owners
Community
RESPONSIBILITIES
PULL
REQUEST
Karate/Postman Integration Tests (DoD)
BUG FEST
ENVIRONMENT
Manual Testing
Bug Fixing
BUG FEST
START
GA
RELEASE
Reactive Problem Solving
PTF
| www.folio.org
10
Recommendation: Shift Testing to Scratch Environment
SCRATCH
ENVIRONMENT
REFERENCE
ENVIRONMENT
Cover both BE & FE with Unit tests (DoD)
UI Smoke Test
Create test cases in TestRail (DoD)
Stories Acceptance
Cover Test Debt TCs with Automation
Automated UI Smoke Test
Run Karate Regression Suite
Developers
Automated
Product Owners
SIG & Community
RESPONSIBILITIES
Manual Testing
PULL
REQUEST
Run Postman Regression Suite
UAT
← Manage
← Manage
Karate/Postman Integration Tests (DoD)
BUG FEST
ENVIRONMENT
Manual Testing
Automated UI Smoke Test
Bug Fixing
BUG FEST
START
GA
RELEASE
Performance Acceptance
Performance Regression Test
PTF
| www.folio.org
11
Proposed Next Steps
Priority | Action Item | R1 | R2 | R3 |
1 | Move testing activities to teams scratch environments | 50% | 100% | |
2 | Build API Integration Test Coverage (Karate framework) | 35% | 50% | 75% |
3 | Implement UI Integration Test (New BigTest) - 109 test cases | 40% | 100% | |
4 | Implement manual sprint regression using testing community | 20% | 50% | 100% |
5 | Implement UAT events using SIG resources | 20% | 50% | 100% |
6 | PO to complete specs for performance acceptance test | 100% | | |
7 | Implement performance acceptance test | | 50% | 100% |
8 | Extend BugFest time frame (Approved) | | | |
| www.folio.org
12
Appendix
| www.folio.org
13
No regression testing or smoke testing is executed during sprint development.
Start manual smoke testing at the end of every sprint:
Option 1: Use developers. Only a few test cases per developer.
Option 2: Use SIG members or Community. More work for PO to prepare a Test Run.
Manual Testing
| www.folio.org
14
PC requested SIGs to have early access to completed but not released features
UAT
| www.folio.org
15
Karate/Postman Integration Tests
https://wiki.folio.org/display/FOLIJET/API+Integration+Testing
Current goals for integration testing
Actions required
Run Karate Regression Suite
Run Postman Regression Suite
| www.folio.org
16
Performance Acceptance
Performance Regression Test
PTF created foundation for Performance Acceptance tests:
Recommended actions:
| www.folio.org
17
Manual Regression is done once per release by community members.
Both regression time and scope is growing from release to release.
One regression test cycle is not enough
GOAL: Decrease time of the release testing, bug fix and retesting by introducing automation testing earlier in the cycle.
SOLUTION:
No action required from PO at this time
Zak Burke; Frontside Software + 1 EPAM Dev will be working on Smoke regression test.
UI Smoke Test
| www.folio.org
18