VW emission scandal: How prevalent is QA/QC cheating?

The scandal around Volkswagen cheating US EPA’s emission test process is known to almost everyone who follows current news.  To recap the known facts about 11 million vehicles (with 4-cylinder diesel engine) are affected around the world. Recalling and fixing those will cost VW about US$7.3 billion.  The company might face fines as much as US$18 billion by the US government.  Sales of all vehicles, including VW and Audi, that might be affected by this have been stopped, at least in the USA (not sure what’s happening around the world).

Now there is news that other car companies might be using the same / similar tricks to fool the emission testing process.

Shocking, right?  Hardly.  Businesses use all kinds of tricks to get past regulatory / legal requirements, and some supposedly pro-business people — from that world as well as politics — consider that necessary for doing business (or succeeding in it).

I would like to share an experience (from around 2009) we had with a prominent manufacturing company based in Kolkata, India, where our offshore software development center is located.  This company builds and supplies important parts for big name heavy machinery makers around the world.  Their production process seemed really old-fashioned — very manual, quite unmanaged, clearly inefficient, but still they supposedly were profitable and busy filling large orders.  In fact, the problem was that this company had a lot of orders to fulfill, but often their parts didn’t pass QA / QC due to defects in the production process, which led to the finished parts being rejected by their customers.

Our company was supposed to build a system to monitor their product testing process via automated data acquisition, check if technical requirements were met, and record results, which would be reviewed later on.  In fact, this system was supposed to be built as audit-ready, i.e., the company will show the recorded results to its buyers as proof of tested and passed products.

During one of the many discussions, one of their managers asked us to keep a backdoor to access and modify the test data, if needed.  The idea, he explained, was that say plating of a part was supposed to be between 70-72 micron thick.  But sometimes it might happen to be 68 micron (or may be 75 micron) due to some defect in the production process.  The automated system would measure the actual thickness and store it in the database, from which the reports will be generated for review and audit.  This company wanted a backdoor to the database backend, so that they could manipulate the stored thickness data if those were not within the permissible range, but came close, i.e., in the 67-69 or 73-75 range.  That means the Quality Control process for those parts are being compromised.  Is that a lot?  No.  Does it affect the final product quality, performance, reliability etc.?  I don’t know.  Is it dishonest?  Absolutely, no doubt.  I am glad, and relieved, that we didn’t happen to do that project for various reasons.

This must not be the only occasion, or area, where this company cut corners, and many more like it do the same, all across the world, on a regular basis.  Sometimes they get caught and/or it blows up in their face, there is a lot of hoopla about it, and then everyone goes back to normal life, without knowing how many more such corner cutting are going on all over the place.  It happens in construction, in production of household goods to electronics, in medical — medicines and devices, in automobiles (as in the case of VW), and almost all industries.

What can we do about it?  I am not sure.  These cheating systems (software — yes, that’s why I picked up this topic) have been developed by some software (and hardware?) engineers, who probably knew what was going on, but did it as part of their job.  If we individually do not stand up for what is right, we will collectively keep on suffering the results of all of our misdeeds.  Could we have stood up and said No to that customer’s demand for the “backdoor”?  As a small software company, under serious pressure at that time, the potential new customer was quite important for us.  To be very honest, I am just glad that (potential) customer ultimately decided not to work with us on that project.

I am sure a lot of people have encountered deliberate and willful compromises with quality, reliability, performance of products they use and depend on everyday. So, VW’s case is not shocking (in a way), because it’s not that we didn’t know something like this could be happening for some product or the other.

Importance of Electronic Document Management System

Importance of Document Management
A document – personal, professional, official or academic, has always of importance to us. It’s an integral part of our life, depending on which we carry on our daily activities – at home, institutions, and offices. However, keeping track of and maintaining all these important documents is not an easy task. Who hasn’t been through the search for important data and documents, the common hunt for the latest information or document, and the problems faced when those cannot be found? This document management has become a high priority in our daily life. A good document management system helps organize documents in efficient manner, so that any document can be found whenever needed.

Why Electronic Document Management System came into being?
Document management started as a manual process (when documents were only paper-based), which included storing documents – sometimes with paper-tags / markers of different colors – in folders and boxes, and then filing cabinets / racks. The color coding by tags helped differentiate / identify categories of papers / files while searching for specific documents. These manual processes often turned out to be inefficient, error-prone and time-consuming, but still that was the prevalent process in the absence of any other option. With the advent of automation and computing in our daily life, we naturally turned towards computer-based document management system to take advantage of computer’s speed, capacity, efficiency and error-free operation. A number of different document management systems came to the market, some convert paper documents into digital form and then manage those. Thus Electronic Document Management started taking off.
digipaper is an innovative and versatile software product to manage the growing accumulation of both paper documents and digital documents to create archives or repositories for convenient and efficient operation at any organization.

A common shortfall in digitized document management
Digitization of documents generally focus on converting paper documents into scanned images and storing that. Most of us understand the importance and benefit of digitizing paper documents, but that alone does not fulfill the requirement of managing all digital documents within a ‘repository’. Other than the paper documents, in every office endless digital documents of varieties types (documents, spreadsheets, presentations, images / photos / logos, designs, forms, templates etc.) are created every day on computers. All these files have their own value as per the organization’s operation, rules / policies, and future plans. These files are edited / changed often as needed, thereby creating multiple versions, distributed among different employees or even external parties (such as partners, customers, suppliers / vendors etc.). It happens that a particular file is changed a number of times and all the versions have to be tracked, so that a specific version can be found when needed. That’s why proper design and organization of archives / repositories, along with versioning, is essential for a good document management system.

digipaper as an Electronic Document Management System
Along with converting paper documents to digitized format as well as tagging and organizing those in hierarchical structure, digipaper also helps an organization create a “repository” of all types of important electronic documents, with all their versions, in a central location. Then any version of a document (and its full history) can be found in one place within a very short time. This helps avoid the problems of using outdated or wrong documents / data. It also minimizes time wastage and frustration of searching through endless unorganized documents as well as helps control access for different users. Once a proper document management system is deployed in an organization, the operational efficiency, quality of work, employee and customer satisfaction are clearly visible almost immediately. The benefits grow even more as time passes by and more documents are brought under the system to be managed.

SARANGSoft: Over the past 15 Years

The last 15 years went by pretty quickly! In early 2000, we were in discussion with a few friends about the software industry, its strengths vs. weaknesses, then most prevalent “body shopping” model, the future potential and challenges.  We knew right then “body shopping” won’t work; needed a model that would be both cost-effective and logistically viable. On the other hand, we wanted to start something from the city we are so intimate with – Kolkata.  It supplied, and still does, a lot of technical talent across the world, but wasn’t a recognized spot on the IT map, not even within India.  We felt it was possible to tap the raw talent from the area and build a team that can deliver quality software to two markets – USA (where some of us are located) and India (where the core team is) –   to start with.  To be very honest, the whole decision was based on more emotion and gut feelings than serious business analysis.  Still, SARANGSoft Corporation and SARANGSoft India Pvt Ltd or SIPL (then called SARANG Infotech and Software Solutions) were started in 2000.  The first set of people came on board and we started with a modest setup.

In early 2001, we got a big break to work with a major medical insurance provider, who was migrating a massive legacy system (IBM mainframe-based) to Unix & RDBMS environment. Our team started working on-site, offsite, and offshore – at its peak involving total 10 engineers.  It went on for about two years, during which we moved to better offices and added more to the team.  In 2003, we took a different turn – after the legacy system migration project ended, we moved away from that area and focused more on Windows and Linux.  Around the same time, we started working as a direct vendor of Microsoft.  That brought a number of interesting projects in the Windows Operating System and multimedia in particular.  The team expanded even more, new offices were setup, and also came a lot of excitement and learning in the process.  There were several ups and downs too.  At times it felt like end of the road, while at other times we could barely keep up with customers’ requirements.  We worked with several small and mid-size companies too, and each was different in significant ways.

The downturn of 2008-2009 had a serious effect on our business as it did for most organizations.  All the customers clammed up in uncertainty, new projects stopped, existing projects stalled / shrunk, some customers couldn’t / didn’t pay as agreed upon.  We went through a couple of horrible years.  Some of our long-time clients continued to work with us, and some new clients did start during this time.  We are happy that most of those relationships are stronger today.  As the market sentiment improved over the last couple of years, we have expanded our business and feel much better now.

During the downtime, we started focusing more on our own software products, and released a number of those starting in 2009.  We offer Data Backup – for Windows PC (filexpertez) to entire Windows network (WinBackup Business), Document Digitization and Management (digipaper), IT Configuration Management (SysExpertez), Cloud Data Browsing & Transfer (CloudScape), Developer Tools (Logastic and Testology), and more.  We didn’t actively market those; actually we are not good in marketing ourselves. Still, some people have noticed the products, tried out a few those, liked what they saw, and purchased.  Based on customer feedback, we have been making improvements to our products, and newer versions are being released frequently.

Over the past 7-8 years, we have concentrated on some specific areas.  Windows platform remains our core strength as before.  We can do almost anything on Windows – at OS level or with apps, components, tools, system services.  Our other area of strength is the web platform – .NET and Open Source.  We design and develop websites, web apps, web services, and anything in between.  For the past 4 years we have also been working with Cloud technologies, especially AWS and Azure.  We are increasingly moving apps and services to appropriate cloud platforms.  We are also working on mobile apps, but not the typical native apps for each of the two dominant platforms.  We prefer to build a common cloud backend for the app core and a lightweight frontend for each mobile platform.

Today we are at an important point in our journey.  After a long stormy night, we are at the break of a new dawn.  Our team of about thirty people is motivated and dedicated.  Our product and service offerings are rich.  We are strong on skills, experience, and innovation.  And we are as committed as we have always been to deliver the best to our customers and partners.

visit: and see more

Welcome to SARANGSoft New Blog

Welcome to our new blog. It took us a long time to transition from our earlier setup (website and blog) to this new version. Hopefully the blog will be better and more active from now on.

The goal of our blog is to share our thoughts, actions, findings (and more) with a wide audience. While working on various projects – building our own software products as well as developing custom software solutions for our customers, we come across different questions and challenges, which we sometimes solve by ourselves and at times depend on the wisdom shared by others like us in the industry. We know firsthand how much information-sharing helps, and we greatly appreciate that. In this day and age of collaboration and networking, we would like to put forward some of the hard lessons we learn as part of our work, so that others do not have to reinvent the same wheel or go through similar frustrations. We all win through sharing, because it goes both ways.

Our posts will be mostly technical in nature, but there will also be some business-related topics, because we are in “technology business”! We develop and use technology for business – to make those more capable and efficient. That’s where the value of technology is – enabling new possibilities, improving existing processes, and even identifying fresh opportunities.

We welcome all meaningful and relevant discussions, including constructive criticism, of our posts. The different viewpoints from all concerned will enrich all of us in various ways.

Testology: Everything You Need For Test Automation of C++ Code

The quality of a product depends a lot on proper testing. Once the product specification and design are completed, the next biggest issue is how to test it. During the development phase, it’s necessary to plan for unit testing of each module, and integration testing for connecting the various modules, as well as plan for Build Verification Test (BVT), functional testing etc. Each time it’s necessary to write / maintain a Test Design Specification (TDS) document, which contains the entire test plan covering all possible test cases, and several test parameters with different values for different test scenarios. It takes a considerable amount of time to write down the TDS documents for a commercial product. Once the TDS is completed, you start coding the Test Application to implement the test plan, which also involves a considerable amount of time. And it’s almost certain that some new / more test scenarios will pop up along the way, which need to be added to / changed in the Test Plan and Test App to fully implement the QA process.

Wouldn’t it be great if a tool helps develop and manage the Test App according to the evolving Test Plan along with all possible Test Cases? Testology can be the tool you are looking for while developing and maintaining a software product using C++ for the Windows platform. Even though it’s very common to develop applications using higher level languages like Java, C# etc., which simplify the code writing process, there is a lot of products being developed and maintained using C++. This is especially true for various kinds of Process Control that involves interfacing with special-purpose hardware / equipment, where you need to ensure not only the expected behaviour, but also the ability to handle unexpected or error events. There are numerous examples of product flaws due to inadequate test planning and execution, starting from space projects to aircraft systems, car components to manufacturing process, safety mechanims to medical devices and more. It’s not to say that the concerned party didn’t dedicate enough time and effort for the quality assurance. However, it’s highly likely that the right tools were not used, resulting in sub-optimal value towards quality level attained. It’s undeniable that exhaustively testing any of these products or components – and continuing to manage the testing process over time as the product evolves – is a Hurculean task. That’s why it’s imperative that appropriate tools and technology be used to improve the whole process. For example, Microsoft Windows undegoes serious automated stress testing before every release. The release quality requirement is to run multiple suites of automated tests on thousands of PCs (with the latest version of Windows) for anything between 24 to 72 hours with very high level of pass rate (such as 99% or more). Each failure case is investigated to see if that points to a recall class defect in the product. All serious product companies set similar quality bar for their product release, because their own reputation is at stake. However, most of these companies make those tools available for widespread, one of the reasons being those tools are highly customized for their own needs and environment, and may not match another developer’s needs. There are very few commercially available Test Framework in the market, and most of those are either overly complex or very high-priced or both.

Here comes Testology to the rescue! Testology is a Test Framework for Windows C++ software developers and testers to help develop and execute Test Suites for projects developed in C++. It provides a very simple and easy-to-use GUI to help create the whole test suite (in a tree structure), including multiple levels of test sections / groups, sub-sections / sub-groups, and individual test cases, as well as set custom parameters and their values for each test case, specify special initialization and uninitialize steps for each test group, sub-group and test case. It also provides options to select a specific set of test cases before executing the test, to repeat the whole test suite / some selected cases a number of times, execute the test suite in silent mode, and many more. The progress and results, including errors or warnings, are recorded using another SARANGSoft product called Logastic, which logs to file, window or debugger. The overall result is shown in HTML format to present the pass / fail status of the test cases executed.

Testology runs in two different modes – Test Developer and Test Runner. In the Test Developer mode the (test) developer can create the entire test suite including all the test cases and options, and set certain restirctions for the Test Runner regarding execution of the test cases. The tester operates in the Test Runner mode to execute the test suite – whole or part of it – and record the progress and results. The tester can set different sets of values for the test parameters, so that without touching the test source code, multiple test scenarios can be covered with different sets of values.

Testology also automatically generates all the test case function structures along with the full function signatures and the basic function documentation. The test developer only needs to fill in the required test code in the test case functions to implement the test suite.

Testology v2.0 is released in September 2015.
Testology can be downloaded and evaluated using a 30-day trial version.

Testology Runner is absolutely free. Anybody can download Testology Runner and try it out with sample test suites and various test parameters provided with Testology Runner.

Enjoy the product, and please give your feedback. We can enhance the product based on your comments.

Absence of data backup made Mumbai Mantralaya fire turn more disastrous.

A tragic incident of fire has caused a lot of damage at the Mantralaya in Mumbai. Lives have been lost and a number of people have been injured in the fire. There is report ( that more than 90% of nearly 500 computers have been destroyed by the fire. Loss of data is the worst impact of such incidents, because the hardware and software can be bought and replaced, but not the data. On the other hand, there was a problem at RBI, Kolkata, because of which a PC with vital data got badly damaged beyond repair. There within less than 1/2 hour, the data of that PC was restored from the latest backups. Contrast the two cases — in one place most data is lost vs. lost data is quickly recovered.