Skip to content

Smoke Testing Proceedure


  1. via Command Line USSD Menu (CLI, Bypass AfricasTalking)

    Setup cic-stack/cic-ussd:

    assumes you are using a unix environment bash

    git clone

    cd apps/cic-ussd

    python3 -m venv .venv

    source .venv/bin/activate

    pip install -r requirements.txt --extra-index-url=

    1. Use the CLI

    assumes you are in the cic-stack/apps/cic-ussd folder


    USSD_SERVICE_CODE=*483*061# python cic_ussd/runnable/ --host --port 443 -c $(pwd)/config 254700123456

    alternatively, the cic-ussd-client package is also available in ge-dev

  2. via Phone

    1. Dial *483*061# This is the testing code in Kenya
  3. via Telegram

    1. Goto @sarafutest_bot and type /start

Setup account

Once you have been able to do one of the options above for setup. You will get a message telling you your account has ben setup and to start again.

  1. Choose language
    1. Ensure that you can goto end of Language list and back
  2. Ensure you got 5 SRF tokens
  3. Check menu looks like:

    Balance 5 SRF

    1. Send

    2. My Sarafu

    3. My Account

    4. Help


  1. Send to registered number
    1. Verify both parties get a receipt SMS
    2. Check the balance of each user to verify the send happened correctly
    3. Send Fractional units like 0.6 SRF
    4. Use the wrong PIN to send once, then use the correct pin
  2. Recieve SRF from another user
  3. Send from an account while having insufficient balance
    1. Make sure the error message is understandable
  4. Send to number not registered
    1. Verify that the person sent to gets an upselling message

Change Token

  1. Receive a different token than SRF (e.g. FOO)
  2. goto My Sarafu Menu and ensure it looks like:

    Choose a number or symbol from your balances:

    1. SRF 1.4

    2. FOO 148.0

    0. Back

    11. Next

    00. Exit

  3. Change to another token (e.g. FOO)

    1. Ensure that you can goto end of Language list and back
  4. Send that token to someone else
    1. Ensure the receipt messages are ok
    2. Check Statment to ensure it is ok

My account

  1. Goto My Account from main menu
  2. Check menu looks like:

    My account

    1. My profile

    2. Change language

    3. Check balance

    4. Check statement

    5. PIN options

    0. Back

  3. Enter your profile information under My Profile

  4. Ensure that all the information was set correctly
  5. Send a transaction to someone and make sure that the receipt shows your name
  6. Change language
    1. Ensure you can click next several times and back
    2. Ensure that other menus work properly in that language.
      1. Note which language are are choosing for the smoke test report
  7. Check Statment
    1. Ensure it reflects your last few transactions
  8. Check Balance
    1. Ensure it reflects your last few transactions

Pin Options

  1. Goto Pin Options under My Account
  2. Check menu looks like:

    Pin options

    1. Change my PIN

    2. Reset other PIN

    3. Guard my PIN

    0. Back

  3. Change your pin

    1. Ensure you can send a transaction with new pin
  4. Set a Guardian (Guard my pin)
    1. and ensure the guardian can reset your pin
    2. Use the wrong PIN to send 3 times
      1. ensure your account is locked
      2. ensure the guardian can reset your pin
    3. Remove a Guardian and ensure they can't reset your pin
  5. Have somone set you as their guardian
    1. Reset their pin
    2. Ensure they can make a transaction


  1. Correct helpline 0757628885

Extra Tests

Analysis dashboard


  • cic-data-golang

  • Goto graphana website .....<>?

  • Adjust filters to be able to see new tokens added.
  • Validate some transactions you just made are shown there.
  • Download a CSV of the most recent transactions and users

User info


  • clicada

  • Use CLICADA to verify the transaction history for a user is correct - compare to mini statments on USSD

  • Choose Another 2 users and verify their balance on the old Sempo system and new system

Token creation


  • cic-cli
  • cic-internal-integration
  • eth-erc20 | erc20-demurrage-token

  • Command Line: Create a new token with demurrage, name, location, description (try a demurage of 2% per minute and a suply of one million to see the effect on the sink account). Ensure the Sink account is accessible from USSD.

  • Send thse tokens to a user and verify they can use them on USSD

Batch transfer


  • sendscript

  • Create a CSV list of users and send them each some tokens in batch

  • Ensure the users get the correct amount of tokens

Last update: 2023-03-30
Back to top