We used the built-in unittest module to verify the functionality of our software, as is recommended in the Django documentation. In particular, we ran tests on:
- Protocol upload and retrieval
- Category upload and retrieval
- Reagent upload and retrieval
- Viewing standard pages as both anonymous and logged-in users
- User creation
Our software passed these preliminary tests, and so we took to user testing to continue with the verification.
Once ProtoCat 3.0 went live, we began by testing the interface. Our team swiftly located a numerous number of bugs and issues with ProtoCat. Once we felt certain that the majority of issues were behind us, we began working with other groups so that ProtoCat could be tested by non team member users. These groups included, but not limited to, Michigan iGEM team, Rice University iGEM team, and University of Michigan's biology lab staff. These users not only found more bugs that were previously overlooked, but also provided valuable insight on how an outsider who has never seen the software uses it. In turn we cleaned up our interface and improved labeling in order to bring attention to new features that were being missed.
One of the main goals of ProtoCat is for the software to be used in order to crowd source protocols. During our testing period our team uploaded a protocol, an improvement was suggested in the comments by a member of the University of Michigan biology lab staff. Thus a new branch of the protocol was created with the correction, demonstrating the power that collaboration has in creating the best protocol.