Coderus QA Engineer Apprentice Creates iOS App Implementation of a Quadratic Equation Solver

One of our in-house QA engineer apprentices, Andrew, has just officially created a minimum viable product (MVP) during his time on furlough. Version 1 of his latest iOS app is now available and has been built using the programming language Swift. This is a quadratic equation solving app that uses Po-Shen Loh’s method for solving quadratic equations and has now been published on Github. 

Since being on furlough, Andrew has had plenty of time to take up extra training and work on some of his own projects. The training that he has been doing has been completely Swift-related and is integral for his role as a software tester. 

Andrew wanted to find more fun and insightful ways of applying what he has learned from the Pluralsight courses he had taken on Swift development and testing principles.  

I have created this equation solving app so that I can practice writing UI tests and make refinements to future versions. In the meantime, I would like to thank everyone from the iOS development team and QA team from helping me be on the right track!

Andrew Bolt
QA Engineer Apprentice

Building an MVP

As mentioned by Andrew, this is still in early development and what we like to call an MVP (minimum viable product), which is a concept that stresses the impact of learning in a new product development life cycle. MVPs allow developers, like Andrew, to collect user feedback needed to more proactively build up the app. A new product is created which allows the team or individual to collect user feedback. 

How Does The Quadratic Equations App Work?

Quadratic equations frequently appear in GCSE maths, and are solutions which occur when the resulting curve meets the y-axis and are in the form ax2+bx+c. The code that Andrew has written mirrors the form used by Po-Shen Loh, a professor of Mathematics at Carnegie Mellon University. You can read more about the quadratic equation method here. 

Image Block

The Process

Andrew created this app in order to develop his knowledge of writing UI tests. The code is powered by a simple form with three fields and a button, which takes a text input. To test that the functionality behaved as expected, Andrew wrote some UI tests using the XCTest framework to check that all the elements have been rendered by following the below process:

Image Block

The Lohs Method

  • Solutions are expressed in 2 labels
  • Both labels are only visible when there are two solutions
  • That is, when the curve crosses the y-axis twice
  • Coefficients which yield complex solutions (i.e. where a solution uses the square root of -1) flag this to the user in the form of label text
  • The label text changes when a=0 is entered
Image Block

The UI testing method also involved inputting edge case data to monitor and review the behaviour of the data when one or more fields were empty. Andrew also wanted to check that the app was supported on multiple devices. For this, he used the emulator that Xcode provided and tried it out on various device sizes and dimensions. 

Do you need an MVP for your startup? 

At Coderus, we build and develop MVPs including mobile applications and various embedded software solutions that provide immediate value when collecting quality user feedback. Find out more about our MVP services here.

Industry Accreditations