Computer and phone: App development

Whether it's web design or application development, often, without having a concrete guide to follow, we would forget or skip certain steps that are crucial to follow. (Sponsored)

Sometimes, even with simple steps involved, we can get too focused on one step and forget the others that follow, and once it's been forgotten, the process can get more complex and more expensive to fix.

A simple tool that helps to improve organization, productivity and task delegation is a checklist. A checklist is simply a list or sequence of steps developed for a repetitive task, in this case, to test mobile applications. For example, automation testing is a type of software testing in which the execution of test cases (test scripts) is performed by the software or application. This checklist will include the various phases of app development, like planning and design, development, reports and maintenance, security, and performance tests.

1 Planning and Design

  • What are the business’ objective?
  • What will the app be used for? Who will be the target demographic?
  • Do you want your app to support multiple platforms and devices?
  • What is the budget for development?
  • Do you have a product roadmap?
  • How long do you expect for the app to be released or fully developed?
  • What is the core feature you need? What are the main features?
  • Does your app need to include any device-specific features?
  • Do you have any basis or ideas for a design? Or is it up to us?
  • Are there any aesthetic functions that you want us to implement?

2 Development

  • How data-driven do you want your app to be? What data do you want to be collected, and how will it be managed?
  • What is the app’s orientation? Landscape or Portrait? Both?
  • Will it have its own server or database? Will it be cloud based storage?
  • Will the tests be carried out manually? Automatically? Both?

3 Reports and Maintenance

  • What are the changes this week?
  • What do you plan to do next week?
  • Have there been any problems or errors encountered when implementing changes?
  • Do you have a vendor or 3rd party that will manage and oversee any problem that may result in the app error or crash?
  • Will it give a real-time report or notification when the app crashes?

4 Security

  • Do you have plan to add layers of security? Will there be limits of functions or access?
  • Does the app come with two authentications, like password and security questions?
  • Will there be admins that have control of its functions and database?
  • Are there any integrated payment gateways? Does it comply with the PCI DSS?

5 Performance

  • How does the app behave in case of no coverage? Less storage space? Transition from one orientation to another?
  • How does the app behave when interrupted by incoming calls? Notifications from other apps?
  • Does the app perform the same way on different mobile devices?

Glossary (Definition of Terms)

Cloud Storage: Cloud Storage consists of tools and services that store data and software through the internet. Instead of keeping the files in a physical storage like a hard drive or any local storage device, cloud based storage saves it to a remote database. As long as you are connected to the internet, you can access the data and the software.

Vendor: Also known as a supplier, a vendor is an individual or company that sells products or services to another company.

PCI DSS: It stands for Payment Card Industry Data Security Standard, a security procedure designed to protect both companies and customers that offer credit card based transactions for a safe trading environment for all parties.

Depending on the app you’ll build, testing and checklists will be easier to be carried out automatically, and some tests need to be carried out manually. Implementing manual tests with automated tests, businesses can reduce the test times while also improving the number of tests, while testing features that require human interaction or judgement manually, boosting the app's overall quality, efficiently minimizing costs and maximizing profits.

A good example of putting checklists on automated tools would be:

Appium: Appium is a copyright-free automation plugin used for running sequences of code and testing local software, as well as web and mobile apps and applications that run on multiple platforms such as Desktops and Mobile Devices.

Ranorex: It is a GUI test automation framework used for the testing of desktop, web-based, and mobile applications.

By asking questions before testing, we can identify what functions to test and create checklists accordingly, making the process faster, easier and more organized. In conclusion, we can say that having a concrete plan or checklist is required before and during implementation of a mobile app or else, one wrong decision or skipped step will have risks and costs the longer it’s found.