Skip to main content

VW behaving badly.

I now cover this issue in more detail in my podcast!

The EPA (The US government's Environmental Protection Agency) recently issued Notice of Violations regarding the emissions from Volkswagen cars. Volkswagen is actually a group of brands, therefore the Notice affects other cars such as Audi, Porsche and Skoda.

A lot of the focus has been on what was going on in Volkswagen, for example who knew what was being done? Did the VW testers know? Did they pass the details on etc.

What interests me is the wider issue of how this could have been possible for so long?  (Since 2009)  If so many cars were affected and for so long, why didn’t we hear about this sooner? Why isn’t there a team of people assigned to finding this stuff out... Oh wait, there is...

In the UK these emissions tests are governed by the Vehicle Certification Agency, answering to the Department of Transport.

One might expect the manufacturer to be less inclined to investigate the cars emissions, after-all testing costs money (less profit). I might also expect them to exploit the test rules and tolerances as best they could. This behaviour, while not ethical, is explainable given their motivations and incentives.

I'm even understanding of the mistaken belief that they can 'prove' their cars are compliant. This is highlighted in this quote from Vauxhall/Opel/GM when the BBC asked about possible irregularities in their vehicle NOx emissions:

"We have in-house testing that proves that the Zafira 1.6 meets all the legal emission limits."

A curious statement, Given that the systems concerned are software controlled, and as Dijkstra put it: "Testing shows the presence, not the absence of bugs".

An independent tax-funded regulatory body is in theory acting in our interests, the vehicle buyers and breathers of the emissions. So why did they not discover the issue? A closer look at the 'tests' themselves gives some clues. Here are a few points worth noting:

1) The test is carried out in a controlled temperature of 20-30 degrees centigrade. At first this might seem OK to non testers. But if you look-up the average temperatures, in the hottest month, of a few European locations:

 Bonn       August  18°C (64°F)
 London     July    19°C (66°F)
 Lisbon     July    24°C (74°F)
 Paris      July    20°C (68°F)
 Brussels   July    18°C (64°F)
 Rome       July    26°C (78°F)
 Vienna     July    19°C (66°F)
 Stockholm  July    18°C (64°F)


You begin to see that this rule is suspect. E.g.: In Paris, in the hottest month, approximately half the time will you meet this criteria in real life.

2) The relevant UK/EU test dates back to 1996. Some parts of the test date back 40 years.  Odd, given that the Engine Control Units, usually responsible for managing emissions behaviour, were introduced in the 1980s & 90s (<40years ago).

3) The procedure is highly predictable and repeatable - it always took 20mins 20secs to complete.

4) The rules require the 'driver' to stay within 2km/h (1.2mph) of an 'ideal' speed throughout the test.


In summary, old, highly scripted and rigidly enforced checks were performed in an unrealistic environment. The emissions-test isn't really testing at all. The procedure is a successful attempt to provide a repeatable scripted acceptance-test of a systems behaviour.

A systems behaviour was developed so when the car was driven in a defined manner, all the checks passed. The car can pass the test, but this provides no indication as to whether this is normal behaviour, or what might occur in any number of other realistic situations.

On a BBC Panorama programme, A former Automotive Type Approval Engineer talking about how cars have been only passing the emissions tests in the most unrealistic of conditions, is quoted as saying:
"...Testing the wrong things, in the wrong way, for quite a while"

This wasn’t testing, But it was done in the name of testing. Sound familiar?

Comments

Popular posts from this blog

Can Gen-AI understand Payments?

When it comes to rolling out updates to large complex banking systems, things can get messy quickly. Of course, the holy grail is to have each subsystem work well independently and to do some form of Pact or contract testing – reducing the complex and painful integration work. But nonetheless – at some point you are going to need to see if the dog and the pony can do their show together – and its generally better to do that in a way that doesn’t make millions of pounds of transactions fail – in a highly public manner, in production.  (This post is based on my recent lightning talk at  PyData London ) For the last few years, I’ve worked in the world of high value, real time and cross border payments, And one of the sticking points in bank [software] integration is message generation. A lot of time is spent dreaming up and creating those messages, then maintaining what you have just built. The world of payments runs on messages, these days they are often XML messages – and they ...

Don't be a Vogon, make it easy to access your test data!

 The beginning of the hitch-hikers guide to the galaxy leads with an alien ship about to destroy the Earth, and the aliens saying we (mankind) should have been more prepared – as a notice had been on display quite clearly – on Alpha Centauri the nearby star system, for 50 years. Seriously, people - what are you moaning about – get with the program?  The book then continues with the theme of bureaucratic rigidity and shallow interpretations of limited data. E.g. The titular guide’s description of the entire Earth is one word: “Harmless”, but after extensive review the new edition will state: “Mostly harmless”. Arthur Dent argues with the Vogons about poor data access This rings true for many software testing work, especially those with externally developed software, be that external to the team or external to the company. The same approaches that teams use to develop their locally developed usually don’t work well. This leads to a large suite of shallow tests that are usually h...

Can 'reasoning' LLMs help with recs data creation?

  A nervous tourist, glances back and forth between their phone and the street sign. They then rotate their phone 180 degrees, pauses, blink and frown. The lost traveller, flags a nearby ‘local’ (the passer-by has a dog on a lead.   “Excuse me…” she squeaks, “How may I get to Tower Hill?” “Well, that’ s a good one” ponders the dog walker, “You know…” “Yes?” queries the tourist hopefully. “Yeah…” A long pause ensues then, “Well I wouldn’t start from here” He states confidently. The tourist almost visibly deflates and starts looking for an exit. That’s often how we start off in software testing. Despite the flood of methodologies, tips on pairing, power of three-ing, backlog grooming, automating, refining and all the other … ings ) We often find ourselves having to figure out and therefore ‘test’ a piece of software by us ing it. And that’s good. Its powerful, and effective if done right. But, like our dog walker, we can sometimes find ourselves somewhere unfamiliar...