Blackboard Testing and Development
in a Multi-Tier Environment
Slide 2
Slide 2 text
Kenny Barnt
Marcus Jackson
Application Administrators
Office of Information Technology
Central Michigan University
Slide 3
Slide 3 text
Obligatory Environment Description
Slide 4
Slide 4 text
Learn at CMU
• Self-Hosted on Windows
• 2016 Q2 Release (CU4 currently in testing)
• For Fall 2016-Spring 2017
– 10,500 Courses
– 26,500 Students
– 2,000 Instructors
Slide 5
Slide 5 text
Three Tiers
Slide 6
Slide 6 text
Production
• Infrastructure
– Fault Tolerance
– High Availability
– Load Balancing
– Disaster Recovery
• Usage
– It’s production…
Slide 7
Slide 7 text
Staging
• Infrastructure
– As close to Production as
reasonably possible
• Usage
– Day-to-day
troubleshooting
– Change testing
– Late Stage Development
Slide 8
Slide 8 text
Test
• Infrastructure
– Very simple, not
necessarily at all like
Production
• Usage
– Tech Previews
– New Releases
– Development
Slide 9
Slide 9 text
Maintenance
Keeping the lights on
Slide 10
Slide 10 text
Production
• All configuration changes
must be approved.
– Ticket to track work
– Vetted in staging
– Approved by manager (CRB
if impact is high)
• Maintenance Windows
– Changes only allowed
during Windows
– Made during least
impactful time.
Slide 11
Slide 11 text
Production Freeze Windows
1. Beginning of fall semester:
Thursday of prep week
through Tuesday of the
first week of classes
2. End of fall semester:
Monday through Thursday
of exam week
3. Beginning of spring
semester: First two days of
classes
4. End of spring semester:
Monday through Thursday
of exam week
Slide 12
Slide 12 text
Staging
• Enables testing of
upgrades (CU’s, B2’s, etc.)
• Periodic refresh from
production
– Based on Bb
documentation
– Documentation Repository
• Step-by-step on refresh
• B2’s custom configurations
• Lessons learned from past
iterations
Slide 13
Slide 13 text
Refreshing Staging
• Gather B2 Settings
• Refresh content share
– 2,898,247 files –
1.5TB – ~ 4hours
• Refresh SQL (from
production backup)
• Copy application folder
from production
• Make staging specific
changes
• PushConfig
• Update B2 configurations
Slide 14
Slide 14 text
Test
• Updated ad hoc
• Never gets bulk data
from production
Slide 15
Slide 15 text
Change Testing & Development
Slide 16
Slide 16 text
Basic Testing
• Low-Risk changes
• First Pass for higher-risk
changes
• Does the change do
what it’s supposed to
do?
• Does the change break
anything obvious/likely?
Slide 17
Slide 17 text
Testing Matrix
• Common functionality
used by students and
instructors
• Historically problem- or
regression-prone
functionality
• eLearning Support
maintained
Slide 18
Slide 18 text
Release/CU Installation Rehearsal
• Refresh & Update
• Basic Testing and
Testing Matrix
• Refresh & Rehearse at
least 2x
• Load testing