Content, Function, Structure, Usability, Navigability, Performance, Compatibility, Interoperability, and Security are the dimensions of quality that you must assess and test against your app. Many of these dimensions are overlooked when testing is conducted for web apps. If you are guilty of overlooking any of these, or maybe the thought never crossed your mind that you should run your app through a grammar/spell checker, then keep reading. I know we here at Red Argyle were guilty of this until we revised our Quality process.
Content needs to be evaluated at both a syntactic and semantic level. This is where a spelling/grammar checker can help, since I’m guessing not many of you are/have a proofreader.
Test your app against the feature requirements and process flows that you documented in the design phase. This will uncover any errors that your user will encounter and ensure conformance with your customer’s requirements. If you don’t have process flows yet, create a Test Plan and document step by step what path the user should take, and all variations.
If you need help writing a Test Plan, check out this article: How To Write a Test Plan. There are some other links to some great tools and other articles that can help you with your testing.
Here you need to assess the original design against the current layout of the app. You also need to look at how this structure will support additional features.
Process Flows (or Test Plans) should be used to test against the UI for each category of user to uncover errors in presentation and/or navigation mechanics.
Test every button and link on your app to make sure that each button fires and returns the appropriate result, each link sends you where it is intended and is not a dead link.
Test your system for response to user interaction and loading time. Make sure you test against all compatible configurations.
Compatibility needs to be tested for each browser, operating system, device, and all other operating conditions, configuration, etc that you agreed to support. Also, if you are developing your app on a Salesforce instance, make sure you meet their Browser Support and Configuration requirements.
Does your Salesforce instance have multiple apps, and if so, does this app interact with any others? Have you integrated any Java or Ruby apps using the Canvas? You must test against all apps or databases that this app interfaces with.
Although Salesforce provides a rigid security structure, you need to ensure that your app doesn’t have any vulnerabilities that can be exploited.
For Red Argyle, I have helped implement a quality process that includes all of these dimensions. We have documentation and processes for each to guide us through the quality assessment on each project. Another great resource is the book Software Engineering: A Practitioner’s Approach by Roger Pressman.
If you would like me to go into more detail, or give some examples of our processes or documentation, contact us today.
Photo Credit: Brandy via Flickr