Inadequate Software Testing Jeopardized Elections in Pakistan, Why?

(On the eve of Pakistan General Elections 2018, everyone was anxiously waiting for the results when it was told by authorities that the newly deployed system to transmit and manage results have failed. Yes, the technology failed when it was most needed. Our regular contributor Sohail Sarwar takes a deeper look at what the problem was and more importantly how we can avoid such things happening again)

Conducting elections in any country is a major political activity since it decides the future “reign-holders” of a nation. Similarly, election 2018 was conducted by Election Commission of Pakistan (ECP) on a national scale (with 272 national and 676 provincial seats). A total of 12570 candidates contested to win hearts of 106 Million Pakistani voters at 85, 307 polling stations for representing them till 2023.

In order to manage the election activity at such a massive scale, ECP for the first time deployed a system named Result Transmission System (RTS) and Result Management System (RMS) for consolidating/compiling/tracking the election results promptly. RTS was made available as mobile app whereas RMS was installed in specific systems for the concerned election personnel.

However RTS appeared to be a nightmare for field personnel on “D-Day” i.e. on 25 July 2018. It was revealed that mobile phones would hang when RTS app was launched. The directed fix to this problem was removing the app, downloading it and re-installing every time. If this component of installing and launching worked fine, the submission of results (after attaching the images) made the application not responding.

Due to these issues, polling staff in field could not submit the results as expected by ECP and suffered a backlash from political entities due to non-responsiveness of RTS. Consequently, fairness and transparency of elections was questioned that could end up in a chaos. Also, competence of eminent professionals managing world class software products was also doubted. Why this trouble was caused? A number of reasons can be enlisted but our answer is “Lack of Thorough Software Testing”.

Some of the apparent reasons that we can think of from the perspective of software quality are:

  • Deploying the systems in production without testing to ensure end-to-end functional completeness of both components i.e. RTS and RMS.
  • Pilot testing of RTS was done on a very limited test bed i.e. only 2 constituencies. ( Obviously, health of application with load generated by 300-400 polling stations would never endure the load generated by 80,000+ polling stations.
  • Overall testing of non-functional perspectives was ignored such as configuration testing (for uniformity of mobile types and OS versions); scalability testing and performance testing (load testing and stress testing).
  • Load balancing for facilitating a seamless downloading from sources seemed missing since anomalies were identified while registering the polling personnel (8 members were directed to register at one time from one constituency that seemed impractical).
  • No dedicated hardware testing infrastructure where applications were hosted with availability of minimum bandwidth requirements.
  • Testing from Cyber security perspective so that any situations in Western countries could be countered. Not sure if this phenomenon really applies to the system developed by ECP.
  • Relatively, a shorter span of time was kept for testing the products since these issues may prevail with uncooked applications.

These are few suggestions that may lessen the chances of getting into “Fire-fighting” situations as witnessed few days ago.

Do you know more about the episode? Or would like to share suggestions on avoiding such failures?


Tags: ,

5 responses to “Inadequate Software Testing Jeopardized Elections in Pakistan, Why?”

  1. Hina says :

    Thanks for the insight. Being someone from IT background, i was wondering about the potential reasons for failure and curiosity was killing me that why system failed, what could have gone wrong and what measures ECP is taking to get it up back and running! Load on the system was one of the obvious reasons came to my mind but this blog post has definitely quenched my thrust of curiosity and assumptions.


  2. Saira Pervez says :

    Great feedback. I would like to add to this suggestion to provide all banking app users a right to cast vote from their apps(like KONNECT, ALFA). There can be a transition period where both physical and e-voting side by side. Voter turnout will hugely increase thru this..reduced time and cost saving on printing special paper once this is fully implemented. I hv come across quite a few ppl (students, working professionals and house wives) who haven’t changed their addresses and can’t go to their home towns today to cast vote.
    E-voting using our banking apps will provide voting opportunity to sick,elderly and those away from home. SBP can work on nuances with ECP to ensure that only one vote is cast against one NIC# even if I have multiple bank accounts.
    Of course once fully implemented, this system will reduce workforce deployed for security and administration of polling.
    Overseas Pakis can get a chance to vote just as they hv paid taxes in the latest amnesty scheme.
    Non-bank account holders or app non-users can be encouraged to open their accounts with any bank and start using app. For their encouragement, they may be given a token balance of 1000Rs on casting vote thru app. This would still cost less than current expenses.


    • Sohail Sarwar says :

      Thanks Saira. In the longer-run, E-Voting is the only solution to elect legislators for cutting costs and improvising the turn-out. Overseas Pakistanis have been given right to vote few days back so it would be imperative to upgrade voting system on same lines as suggested by yourself.


  3. Alisha Henderson says :

    I just come through your blog while searching more about the software testing. Read your blog and love the way you have implemented the unique content about software testing and other testing related information. Thanks for sharing this and I will wait for your next updates. Keep it up!

    Software QA Services


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.