A better Trader testing

From Bitpost wiki

Intro

This page introduces the app to members of the test team, and explains the basics of performing testing.

Projects

There are two ways to get to the app, either via the website or the iPhone app (installed and updated via the TestFlight app). Both need testing separately from each other. Testing is managed on the project boards.

Project Boards

Each test task is represented by a "ticket" on a "board".

Initially the ticket is created with a description of the tests that are needed. As you test, you will capture all the details of the tests in the ticket, including screenshots, whether the test passed, and all other details.

The tickets on the boards will generally flow from left to right as the status changes:

Open > Sprint > In progress > Failed > Ready For Testing > Testing > Ready For Release > Done (released)

Server

In addition, there is a server that works behind the scenes. This is mostly tested automatically through tests written by the developers, and testers don't usually need to worry about it.

Smoke Testing

As the code changes, everything typically needs to be retested, as change to the code in one place can cause unintended "side effect" problems in other areas. Just because something works today, sadly that doesn't mean it will work tomorrow. Usually, everything re-breaks a million times. Yay. Good for job security though.

So it is never bad to give the entire app a good retest. This is sometimes called a smoketest. For A better Trader, here's a good set of tests you can run through to do a smoke test.

  • When you add a stock, it becomes a "cycle" that is tracked across buys and sells. At any time you may be watching it to buy it, getting ready to sell it, or holding it (preventing it from being sold - this only applies to cycles that are currently owned). Verify that you can change these states for a cycle, by manually selling, buying and holding it.
  • During market hours (M-F 9:30am-4pm EST), buys and sells can happen quickly, but no buys or sells happen outside market hours. Outside market hours, a cycle will just get marked as "pending order". Outside market hours, make sure you can set up pending orders, and cancel them. You can also switch the cycle status between actively trading and being held.
  • Cycles can change state either because of direct requests by the user, or because the server bought or sold when it felt conditions were right. Test to ensure that the server is buying and selling during market hours. You will see cycles change between owned and watched, automatically. Once you get good at watching the charts, you will be able to predict these events better.