As a rule, all our development projects are done according to Agile principles meaning we test and validate our work early and often. In the world of software development, the term agile typically refers to any approach to project management that strives to unite teams around the principles of collaboration, flexibility, simplicity, transparency, and responsiveness to feedback throughout the entire process of developing a new product. Agile testing means the practice of testing software for bugs or performance issues within the context of an agile workflow.
Besides providing clients with complete insight into our progress, we send them a “testable” for review every 2-3 weeks depending on the specific demands of the project. A “testable” is a completed feature, a working prototype of any kind, or any other meaningful development increment that you can test, review and provide feedback on. To ensure our clients participate in the development process and are able to actively deliver feedback, we use a service called HockeyApp.
HockeyApp lets you upload your app so that it can be tested. In addition to sharing the app for testing, HockeyApp also incorporates live crash and bug reporting. It is similar to TestFlight except HockeyApp allows you to distribute beta versions on iOS, Android, Mac OS X, and Windows.
Give the Client a Role in the Development Process
One of the most valuable features of HockeyApp feature is app distribution. It helps you send out the app to the client as well as to anyone else testing the app. To distribute the beta versions directly onto the clients device, simply upload the application to the server. HockeyApp will then provide you with everything you need to get the app distributed easily, including automatically generated links to install the app on the client’s devices. Thanks to HockeyApp we don’t have to send ipa files to clients and other testers.
The best practice is to have more than two testers for each app in addition to the client. We recommend testing the app with as many testers as possible. Managing access is simple. HockeyApp allows you to group users into teams ranging from a small set of users to large enterprise groups. Within the dashboard, you can grant and revoke access to each individual app on a per-team or individual basis.
Each user of an app can either be an owner, developer, member or tester, granting you fine-grained control over individual permissions:
- Owners have full control over the app. The “owner” of the app is usually the development team during the process since they are the ones handling and responding to feedback from the testers.
- Developers can upload and edit all basic data. With every new upload, developers can write a description that will inform the client and testers about bugs that have been fixed or new features that have been added for testing.
- Members can view all data and respond to feedback. No matter what role you give to a client he/she will be able to provide active feedback as well as to respond to notes made by any other tester. This enables direct communication between the client and the development team over each incremental improvement in the app and over any changes or additions for the future.
- Testers can download and install the app. Testers, including the client, can download the app on as many devices as they want.
Ask For Feedback
Using HockeyApp’s feedback feature, you can make it easier for users to tell you what they think about particular features, user flows and so on. Each tester can create support requests, report bugs, or post ideas directly from within the app. All feedback is handled as discussions. Through the dashboard, you can manage each feedback, or respond to them via email. After you finish with one of the discussions you can mark it as completed or create tickets in your internal bug tracker (e.g. Jira) for your developers to investigate later. Every user can post new feedback to the application regardless of their role, it can be directly from the web or through the iOS, Android, Mac OS X, or Windows app. It is always good to let a client be a part of development process. In this way, they will have input in each stage of app development and will always know the status of their app.
No matter how big or simple the app is, testing it with a client is always worthwhile and will help you better understand how the product can be improved.