Slashdot Mirror


Can ISO 29119 Software Testing "Standard" Really Be a Standard?

New submitter yorgo writes The International Organization for Standardization (ISO) will soon publish part 4 of a 5 part series of software testing standards. According to the website, "ISO/IEC/IEEE 29119 Software Testing is an internationally agreed set of standards for software testing that can be used within any software development life cycle or organisation." However, many in the testing community are against it. Some wonder how the ISO/IEC/IEEE achieved consensus without their input. James Bach speculates that exclusion helped build consensus. Others, such as Iain McCowatt, argue that something as variable as software testing cannot be standardized, at all. And others believe that the motive behind the standards is not increased quality, but economic benefit, instead. Michael Bolton explains "rent-seeking" as he builds on James Christie's CAST 2014 presentation, "Standards – promoting quality or restricting competition?"

A comprehensive list of many other arguments, viewpoints, and information has been collected by Huib Schoots. Opponents of ISO 29119 have even started a petition aimed at suspending publication of the standard. Even so, this might be an losing battle. Gil Zilberfeld thinks that companies will take the path of least resistance and accept ISO 29119.

So, where do you stand? What constitutes a consensus? Can a standard be honored without consensus? Can an inherently sapient activity, such as testing, be standardized, at all? What is the real purpose of a standard? Will companies acquiesce and adopt the standard without question?

5 of 152 comments (clear)

  1. Can see it now: by some+old+guy · · Score: 5, Insightful

    MBA CEO: I want our new product to be QA'd according to ISO 29119 before shipping.

    Project Manager: Good idea, but that will add some time and overhead cost to my budget.

    MBA CEO: Never mind, just ship it.

    --
    Scruting the inscrutable for over 50 years.
    1. Re:Can see it now: by UnderCoverPenguin · · Score: 5, Informative

      MBA CEO: Never mind, just ship it.

      More likely response: "Figure out how to get it done within the existing budget and schedule."

      --
      Don't try to out wierd me, three-eyes. I get stranger things than you, free with my breakfast cereal. --Zaphod Beeblebr
  2. Re:Automated test in is a minimum by omglolbah · · Score: 5, Interesting

    You would love the control system software we use at work... (world leading platform for the industry).

    No revision control. You have 'current' revision. That is it.

    Integrated code editor that has no syntax highlighting.

    Patches to the system will break components that are not considered 'core'. Which forces updates of ALL components in the system. This has lead to bugs persisting at sites for years with no patch because nobody wants to fix bugs when it costs tens of millions of dollars to do so.

    No automatic testing. Of anything. When we update a component everything has to be tested manually. Someone will sit for 2 weeks and check every state of GUI symbols for the whole HMI. Oh joy...

    If you change ANYTHING in code, you can no longer connect to controllers to view live data. You need to do a download to the control with the code changes before live data can be observed. This means that as soon as you make changes, you lose the ability to view the old code running. There is no way to have both a 'online capable' version of the code and a changed codebase in the same control system. We operate two separate virtual environments and switch VLANs or just move a cat6 when testing...

    This is for oil rig control systems. There is no automated testing of any kind, even for critical emergency shutdown systems. Every test is done manually.
    The ESD systems are usually a complex matrix of casues and effects with hundreds of inputs, hundreds of outputs... This is all tested manually as the software does not support any reasonable simulation of the controller input/output systems.

    Enjoy that little gem.

  3. Re:Standards by JeffAtl · · Score: 4, Insightful

    It's not quite that simple - customers can require the certification. If a customer is sizable enough, the suppliers will have comply to stay in business.

    For real world examples, look at the power that the state of Texas has wielded in text book requirements and the state of California with warning labels.

  4. Re:Automated test in is a minimum by swillden · · Score: 4, Interesting

    Rofl. Acacademic half knowledge with complete wrongs

    Dude. I've been a professional software developer for 25 years, and am a respected engineer at one of the biggest names in software. You use my software daily.

    If there are any heap-allocated blocks remaining (not freed) at exit, the program has a memory leak No it has not. Where should the memory go to after the program has exited?

    Well, obviously it'll all be returned to the system after exit. The point is to check AT EXIT. If there are any blocks still allocated, you've screwed up.

    Technically you can test a 40 lines mess of loops and if cascades, practicaly you can't ... or how likely is it that you can prove me in a reasonable time that a certain branch in an if - else inside of a cascade of nested loops and if's is executed with meaningfull data in your test? Especially if I have written the function and you want to write the test?

    I've done it many times. Just check to see which branches aren't being executed and work out what needs to be done to execute them.

    Though it's much, much better to refactor the function first.

    The rest I leave as it stands if you like to argue about how likely it is that a single compilation unit has a bug that is not dicovered by a functional user acceptance test ... unit tests without user acceptance tests or integration tests are pointless.

    I've found thousands of bugs with unit tests that were not discovered by functional tests, integration tests, or user acceptance tests. In fact, unit tests are the most likely ones to find thing like subtle boundary condition errors which are hard to reproduce and are the source of nasty, rare bugs that are seen in production only once in a while.

    The next thing is you tell me to test getters and setters ...

    Typically those get exercised by integration tests... and it is a good idea to have coverage of them at some point in your automated suite, because the whole point of getters and setters is that they may someday become non-trivial. Writing tests for them at that point isn't as good as already having tests in place, because you want to verify that your new implementation doesn't have subtle differences in behavior.

    But you will figure that soon enough when you have 100% code coverage and still have bugs and wonder why

    No one is claiming that unit tests are sufficient, only that they're necessary.

    Btw, I never was in a team that had a memory leak in a GCed language.

    Then you haven't worked on many non-trivial systems.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.