MilestoneThree - JUCMNAV/projetseg-update GitHub Wiki
jUCMNav
Quality Assurance Presentation 1
jUCMNav
Quality Assurance Presentation 1
Team SoftwareEngineering.Ca
University of Ottawa
Our Team
Team SoftwareEngineering.Ca
- Olivier Clift-Noël
- Jean-Philippe Daigle
- Jason Kealey
- Jordan McManus
- Étienne Tremblay
System Definition
What is a Use Case Map?
- Tracing a path through a system of objects to explain a causal sequence
System Definition
Current editor looks like this:
System Definition
Problems that need fixing
- Goal: Usability
- Goal: Maintainability
- Goal: Better documentation
System Definition
The new editor (mockups)
System Definition
The new editor (prototypes) img/pizza.png
System Definition
Framework
QA Strategy And Process
Our goals vs requirements
Goals
- Generic
- Guide our vision
- Make client happy
Requirements
- Specific
- Define functionality
QA Strategies
How do we test this?
Usability goals:
-
Following Eclipse UI guidelines
-
Formal usability testing is not required
-
Evaluating usability: for first version, testing by a few users (Personas: programmers that may or may not know Eclipse / UCMs) and the client.
QA Strategies
Maintainability goals:
- Eclipse framework: forces us into a few highly-maintainable patterns & coding standards.
- Evaluating maintainability: code reviews and a few metrics
- Time between assignment of an enhancement task -> resolution
- Repository stats for modifications: problem areas
QA Strategies
Documentation goals:
- Our client provides feedback allowing us to be assured that documentation meets quality requirements.
- We use TWiki to foster conversation between developers and the client
- Documents changes / history
- Place to put dev documentation / easy to maintain
- JavaDoc coding standards
Test Framework and Data
img/development_testing_environment.png
Test Framework and Data
Test data
- Testing that requirements are met
- Question to answer: Can system support creation of existing UCMs with the new tool?
- We're lucky to have existing UCMs as a reference
Test Cases and Reporting
Functional Requirements: Model & Controller
-
Diagram elements
- Manipulating the model
- JUnit tests are possible / a bit of scripting
-
Editor commands
- Manual testing
- Some automated unit tests possible
- Model serialization will help us with automated testing
- Guard against regressions
- Test undo / redo functionality
Test Cases and Reporting
Functional Requirements: View testing
- View aspects
- Mostly manual verification
Help & Documentation
- Manual review by client, who provides timely feedback
- Quality is somewhat subjective
Test Cases and Reporting
Non-functional requirements
- Java version
- Building on J2 SE? 1.5 (Java 5.0)
- Other tests passing implies it works under this platform target.
Reporting
- Remember we get automated notifications of tests having passed / failed on each build.
Test Plan
On an ongoing basis, our development process assigns QA tasks to all members.
- Business analyst, Jason: Requirements validation
- QA Manager, Olivier: Overall QA + Documentation
- UI Expert, J-P: Use Case verification
- Architect, Etienne: Ensure guidelines are followed.
- Programmer, Jordan: Ensure coding standards are followed.
Status Report
- As of today, our prototypes have covered 24/43 of our requirements.
- We've also implemented 7/50 of the optional and future requirements.
- No tests have been implemented as our particular application requires deep knowledge of the architecture.