Kuali PowerPoint

advertisement
“Kuality” Assurance
What does that look like?
Scott Heise
Indiana University
Kymber Horn
University of Arizona
Paul Sandoval
University of Arizona
KFS - Quality Assurance Manager
KFS - Lead Testing Coordinator
KRA – Lead Testing Coordinator
Lora O’Connor
Indiana University
KRA – Quality Assurance Manager
Jennifer Flach
Coeus Consortium
CoeusTM – Quality Assurance Manager
What does QA mean to you?
Have you heard these phrases before?
•
•
•
•
•
•
We don’t need documentation.
The developers can test it. We don’t have time.
How hard could it be?
We don’t need Unit Tests. We have functional testers.
I thought the spec was just a guideline.
We don’t have time for a QA period.
Introduction
• What is QA?
– The process for defining techniques,
procedures, and methodologies that will be
used to assure timely delivery of the software
that meets specified requirements.
• What are the benefits of QA?
– Improved utilization of time and resources
– Improved efficiency
– Consistent quality and timely delivery
Introduction
• What are the benefits of QA, continued…?
– Increased stakeholder satisfaction
– Improved control of processes
– Improved performance of software
– Documented system provides useful
reference
– Lower rejection rates, rework, and
implementation costs
– Improved control during periods of change or
growth
– Plus, many more…….
Scott Heise
Indiana University
Kuali Financial System
(KFS)
Quality Assurance Manager
“Kuality” Assurance
Module
Sign-off
Performance
Testing
Code Review
Accessibility
Review
Integration Testing
Functional/
Regression Testing
Open Source
License Review
Functional Test
Plan
Automated Unit
Testing
Unit Test
Creation
Application Development
Kuali
Architecture/
Standards
Accessibility
Guidelines
Functional
Specifications
Open Source
License
Requirements
Automated Unit Testing
Module
Sign-off
Automated Unit
Testing
Unit Test
Creation
Application Development
Functional
Specifications
Manual Testing
Module
Sign-off
Integration Testing
Functional/
Regression Testing
Functional Test
Plan
Application Development
Functional
Specifications
Testing
Module
Sign-off
Integration Testing
Functional/
Regression Testing
Functional Test
Plan
Automated Unit
Testing
Unit Test
Creation
Application Development
Functional
Specifications
Code Review
Module
Sign-off
Code Review
Application Development
Kuali
Architecture/
Standards
Accessibility Review
Module
Sign-off
Accessibility
Review
Application Development
Accessibility
Guidelines
License Review
Module
Sign-off
Open Source
License Review
Application Development
Open Source
License
Requirements
Quality Assurance Framework
Module
Sign-off
Performance
Testing
Code Review
Accessibility
Review
Integration Testing
Functional/
Regression Testing
Open Source
License Review
Functional Test
Plan
Automated Unit
Testing
Unit Test
Creation
Application Development
Kuali
Architecture/
Standards
Accessibility
Guidelines
Functional
Specifications
Open Source
License
Requirements
License Review
Module
Sign-off
Open Source
License Review
Application Development
Open Source
License
Requirements
Licensing
• Software distribution licensing
– Open Source Initiative (OSI)
Educational Community License 1.0 (ECL)
• Original code
– Individual Contributor License Agreements (CLAs)
– Corporate Contributor License Agreements (CCLAs)
– © Labeling the code
• Third-Party code
–
–
–
–
ECL-Compatible License
Follow license requirements
Acknowledgments
License folder
Accessibility Review
Module
Sign-off
Accessibility
Review
Application Development
Accessibility
Guidelines
Accessibility
• Guidelines
• Test by sampling
• “Issues” approach to resolution
Kymber Horn
University of Arizona
Kuali Financial System
(KFS)
Lead Testing Coordinator
KFS Testing/Usability
Module
Sign-off
Integration Testing
Functional/
Regression Testing
Functional Test
Plan
Application Development
Functional
Specifications
Testing Structure
• Testing Teams
– One per module
– Module Testing Coordinator
• Write/assign scenarios to testers
• Train testers on Kuali, Confluence, JIRA
• Review Bugs: Duplicate? Training? Usability?
– Testers from all schools – 15 plus/module
• KFS Testing Coordinator
– Monitors issues application wide
– Assists Module TCs
Process
•
•
•
•
•
•
•
•
eDoc/process ready for testing
Scenario created/assigned – JIRA
Bugs reported in JIRA
Issues fixed marked as resolved
Testing environment released weekly
Release notes created - Confluence
Testers test close/reopen
Rinse and Repeat!
Tools - JIRA
Tools - Confluence
Usability – Before Coding
• Indiana UXG – Usability Group
– Developed Standards/Guidelines for the UI
– Initial Mocks reviewed by Kuali Financial
Functional Council
• Decisions made:
– Editable data entry lines
– Page Level Help – no field level help
– Usability sessions with users from each
school via Breeze
Usability – During/After
• Marked as Usability
• Reviewed and Prioritized by Usability
Prioritization Committee
• Usability Dev team formed during QA
• Usability issues that affect infrastructure,
reviewed and time allocated during next
release, e.g. – error handling framework
Lessons Learned
•
•
•
•
Face to Face sessions
Never too many testers
Training for testers
Pre-Testing to ensure a fairly stable
environment
• Weekly meetings with testers
• Testing is the BEST way to learn!
Paul Sandoval
University of Arizona
Kuali Research Administration System
(KRA)
Lead Testing Coordinator
KRA
Testing and Usability
Process
• Functional Specs (SMEs)
• Code (Developers)
• Testing (Developers, Lead Testing
Coordinator, Module Testing Coordinator,
SMEs, Testers – includes Coeus
consortium members)
Testing
• Module Testing Coordinators
– One per module
– Write/assign scenarios to testers from each
school in JIRA
– Train testers
• Testers test – report bugs in JIRA
• Module Testing Coordinators review
– Bug, Duplicate, Training opp, Usability
Bugs
•
•
•
•
Reported in JIRA
Fixed by Developers
Resolved with next Build
Confluence used to help testers keep track
of resolved bugs ready to be tested
• Testers Test – Close/Reopen
Lessons Learned
• One person was designated to write Spec
Docs in the SME group in KFS. In KRA,
everyone is taking an active role in writing
Spec Docs. This promotes ownership in
the process!!
• SME Members are going to take a more
active role in testing.
• Face to Face testing – Training
Lora O’Connor
Indiana University
Kuali Research Administration System
(KRA)
Quality Assurance Manager
KRA
Quality, Timelines and Synergy
QA is Continuous!
• QA exists throughout the entire software
development life cycle!
– Planning and Communication Tools
• Microsoft Project, Confluence and Jira, Breeze,
Skype, Face-to-face meetings
– Analysis
• Functional and Technical
– Licensing
– Coding
• Code Reviews, Development Standards
QA is Continuous!
– Testing
• Unit Testing, Regression Testing, Integration
Testing
– Usability and Accessibility
• HTML Mock Development, Focus Groups, Design
Critiques, W3C Priorities, Accessibility Testing
– Documentation
• Functional and Technical
– Builds and Releases
Timelines
QA impacts Timelines
• Project planning is continuous along with QA
• Coeus represents the base functionality that will be
delivered in KRA
• Enhancements are reviewed, estimated and submitted
for functional approval. If accepted, the project plan is
adjusted.
• Functional specifications are standard
• SME groups follow similar processes when interacting
with SME group members and the development team
• A user interface group monitors HTML mock
development and usability/accessibility issues
QA impacts Timelines
• Focus groups and design critiques are conducted with
Faculty and staff roles across multiple schools
• HTML mocks and jsps are validated for W3C Priority 1
and 2 issues and corrected
• Code reviews are standard and code is reviewed weekly
• Unit testing is standard and a continuous test process
runs daily
• Multiple test environments exist to ensure that
automated and manual testing is performed
• Documentation is standard – functional specifications,
technical gap documents, integration documents, user
and help documents
QA Tracking
QA Tracking
QA Tracking
QA Tracking
QA Tracking
QA Tracking
Synergy
From Wikipedia, the free encyclopedia
– Synergy (from the Greek synergos, συνεργός meaning working
together, circa 1660)
From Merriam-Webster
– syn·er·gy
• 1: synergism; broadly : combined action or operation
• 2: a mutually advantageous conjunction or compatibility of
distinct business participants or elements (as resources or
efforts)Synergy with other Kuali Projects
Synergy
• Synergy with other Kuali Projects
– KFS, Rice, KEW, KEN
• Synergy within KRA modules
– Proposal, Budget, Award, IRB and future
modules
• Synergy with Coeus
– Share architecture and tools moving forward
– Assess Coeus enhancements & bug fixes
Lessons Learned
• Developers should test the web application on a regular
basis
• Code should be reviewed as functionality is developed
and a final code review should be required for
completion
• Unit Testing guidelines should be set early and followed
• Functional testers should test functionality as early as
possible
• Project team members must embrace QA processes
• Coeus participation is essential! Coeus documentation
is essential
Jennifer Flach
Coeus Consortium
TM
Quality Assurance Manager
CoeusTM
Quality Assurance
Coeus and Kuali KRA Joint QA
Ongoing collaboration (synergy) between
Coeus and Kuali KRA
through all phases of the
software development life cycle
results in a Win/Win for Quality!
Coeus QA Process
•
•
•
•
•
•
•
•
•
Enhancement requested and assigned to Subcommittee
Subcommittee prioritizes and Steering Committee votes
Bugs follow a shorter, parallel path
Scope of release finalized
Users drive analysis and design of new functionality
Code developed iteratively
Test…Fix bugs…Test….Fix bugs….
Point releases made at MIT frequently
After QA complete, release is made available to the
Consortium
Coeus Testing
•
•
•
•
•
•
Developer Testing
Automated Regression Testing
Integration Testing
User verification
QA sessions
Beta testing
Key Coeus QA documents
•
•
•
•
•
Enhancement Request Form
Functional Design Specification
Technical Design Specification
Test Plans
Test Cases
Coeus QA Tools
• Perfect Tracker
– Bug and enhancement request tracking tool
• Coeus Project Wiki
– Release Information
– Subcommittee Pages
– Links to QA documents
• Coeus Consortium Instance
– Testing
– Demo
Tools – Perfect Tracker
Tools – Wiki
Coeus and KRA Joint QA
Kuali KRA contributes to Coeus QA by:
• Developing functional specs that can be used
supplement Coeus documentation
• Providing feedback into existing and planned
functionality
• Suggesting enhancements to Coeus functionality
• Reporting bugs found in Coeus test/demo environment
• Identifying areas of improvement in Coeus user
documentation
• Sharing approaches for technical implementation
Coeus and KRA Joint QA
Coeus contributes to Kuali KRA QA by:
• Participating in SME calls
• Reviewing specs, screen mocks, and other documents
for accuracy and usability
• Keeping KRA informed about Coeus release plans and
known bugs
• Attending KRA technical and functional retreats
• Responding to SME queries about Coeus functionality
• Participating in KRA testing efforts
“Kuality” Conclusions
• QA exists throughout the software
development life cycle
• While processes may vary between projects,
the goal is to ensure that the software is built
in a timely manner and meets specified
functional requirements
• Reviewing and making changes based upon
lessons learned can improve the project
• Synergy must exist for success!
Questions?
Contacts
Please feel free to contact the following individuals about
the KFS, KRA or Coeus projects:
• Jim Thomas, Project Manager
Indiana University – jthomas@indiana.edu
• Andy Slusar, Senior Project Manager
Cornell University – as833@cornell.edu
• Steve Dowdy, Director of Electronic Research
Administration
MIT – sdowdy@mit.edu
Download