Testing Biometric Authentication for Government Elections
In order to certify “Governmental Biometric Application” for “Colombian Congress Elections”, GreenSQA S.A. developed a fast software test automation framework and a “blue print” for testing biometric authentication and citizen registration applications. The software is integrated with Visual Studio 2013 and runs on Microsoft ALM (Application Lifecycle Management) to manage, develop and execute more than 26.000 automated functional test cases and analyzed 1027 terabytes of database rows in just 9 days. Democratic processes require compliance with maximum quality and security standards to reduce risks of fraud (i.e. false identity, straw voters).
One of our best customers contacted us for an important and national context project, we were committed to certify quality of the “Biometric authentication” application, for which we decided to use an ALM – Application Lifecycle Management – quality testing and quality management solution. Biometric authentication software is necessary to ensure that the any present person in the voting elections is who declared to be. That application was developed to be use during “Colombian Congress and Presidential elections” that took place on March 9 and May 25 of 2014.
The testing process was supported by: Team Foundation Server “Agile Scrum process template” and Visual Studio IDE. It was also necessary to expand GreenSQA AiMaps® and GreenSQA INFramework® testing technologies to achieve testing goals with a minimum of Target System Machines invasion (Install as minimum software as possible on target machine), also adjustments to the System Under Test to ensure maximum quality level (none errors in all executed test cases) were needed. With that level of demand in terms of quality of the solution, it was necessary to implement a strong and granular testing process that ensure the desired result and avoid any kind of legal sanction for our client as mandatory Article 39 of 2011 Colombian Law dictates: “National Civil Registry, will implement, for the next elections, biometric identiffication of voters”. With an accurate and reliable testing of biometric authentication process, GreenSQA contribute to bring transparency and security to the Colombian national electoral process.
That experience allowed us to develop and maintain test components for Biometric Authentication Application and Citizen Registration Application that can be easily modified and focused over any electoral event and not only on Colombian territory but also in other countries and scenarios. To date we can apply our experience and reusable components to:
- Testing Citizen Registration Application prior to electoral Events: Any citizen can be subscribed to any desired voting stand on any national valid place, which is several weeks’ previous to electoral events.
- Testing Biometric Authentication during Electoral Events: 2015 National Mayor Elections or any electoral event.
- Testing Data Migration: Test the correctness of imported database information rows from official government foundation information, that implies to cross millions of table rows as the result of analyze quickly millions of millions of crossed row of information.
The process performed by our customer without GreenSQA tests is the following:
1 – Official Sources DB Loads: Consists in take official government information and load it into different master machines.
2 – Developer Smoke Tests: Developers do their tests without external tester perspective.
3 – Cloning Process: After Testers and User Acceptance Tests (again without external tester perspective) master machines were cloned (in blocks of 300 physical machines at the same time).
4 – Territory Distribution: Once machines were cloned they were distributed over 174 Colombian places.
The challenge of ensure that the application works correctly, was assigned to GreenSQA S.A. who must certify the quality of master computers containing the “Biometric Application” to proceed with logistical process for copying and distribution in the Colombian territory, which was to send 8500 clones to 174 cities. All “Clone” computers lacked of any validity without the GreenSQA S.A. certification seal. However,
Certification, cloning and distribution of 8500 computers were performed in 9 calendar days remaining until the electoral event (That dead line, could not be postponed). Due security and confidentiality reasons, GreenSQA had to develop and refine the test robot in only two days, just before starting the logistics process for cloning and distribution in the Colombian territory. The machines had a reduced hardware and could not install additional software on them; also the execution environment of the test should be defined directly on the master machine, and in a comprehensive manner, ie for 174 cities in all polling stations. Because the number of tests to be executed for all of the 174 cities is so high and corresponds to system test cases, it was impossible to run them manually.
Our customer was aware that the project is critical and that the time box is very short, so our commercial offering was based on: agility, quality, low cost, reliability and continuous value generation, those features can only be achieved with “Scrum Process Template” and a specialized and committed ALM (Application Life Cycle Management) team like GreenSQA members.
A SPECIFIC SOLUTION
The most efficient way to deliver for the customer that amount of work was using migration tests, load tests and coded UI tests (automated) and taking into account that must be executed in a time window of seven days because we already had wasted two days in the development of tests robots. Using the following tools: VS2013, C # language, plus “GreenSQA INFramework” helper libraries and “GreenSQA AiMaps” automation tool that can be easily integrated with Visual Studio Coded UI Tests Tool, We created an agile scrum project in Visual Studio Online, and extraordinarily we have developed, administered and implemented as the best style of “Fast and Furious” the record amount of 26.515 automated test cases, and 1027 teras of rows were analyzed. During all those tests executions, the robot detected 3 main critical errors, which after being corrected promptly, prevented our customer of being involved in legal issues as political demands or electoral frauds. The robot is portable, and was packaged in a USB storage from which tests were executed for each master machine (the machine that would be cloned and distributed to several voting stations), with that USB Mechanism we will not impact the final execution environment of the machines to be certified.
For future similar works we defined a technical blue print and reusable architectural definitions to speed-up and provide high quality to Biometric Authentication and Citizen Registration Applications core business processes.
For a detailed case study, download the full document here:
GreenSQA SA is a Colombian company, with knowledge and more than 13 years of experience in software testing and implementation of standards, methodologies and models used in the software industry worldwide for Quality Assurance of both, software products and software development process. Since late 2002, when GreenSQA started operations, have been responsible for ParqueSoft’s Quality Strategy, thanks to which the methodology has been exposed to multiple work conditions (technology platforms, software development languages, databases, programming paradigms, infrastructure and communications, multiple economy sectors, ranges of complexity, product sizes, human teams) and additionally received the benefit of national and international cooperation projects with Colciencias, Carana the World Bank and others, for the sole purpose of making our service, world class.
To date we have been successfully executed about 15.000 testing processes in different economy sectors such as: Telecommunications, Financial, Healthcare, Solidarity, government, Educational and Commercial, likewise have successfully completed projects implementing Quality Management Systems based in the ISO9001 and CMMI®-Dev1.3 in multiple organizations. This condition allowed us to be in continuous improvement of ours methodologies and practices for testing and software quality assurance. Our main goal in GreenSQA is to provide our experience, knowledge and methodology for software development teams or areas of IT for development, maintenance and/or acceptance of their applications to ensure product conformity and integration solutions to its functional and non-functional purpose, by the use and transfer of proven test methodologies.