Forum Discussion

maximojo's avatar
maximojo
Frequent Contributor
8 years ago
Solved

What can't be automated?

Every so often I'll read am article saying that "not everything can be automated" in software testing. What are some examples?

I've been able to automate anything I've needed to.
  • I think the "not everything can be automated" is a bit of a mis-statement.  Given time, effort, and resource, EVERYTHING can be automated.  The more accurate statement is "given a limited amount of resource, not everything can be automated."  This would translate, as well, into something more on the lines of "not everything SHOULD be automated."

    For example, I could probably automate, given time and effort and resource, all the UI of the application I have under test including all colors, fonts, backgrounds, component positions, etc.  This would take hours, days, maybe even weeks.  Meanwhile, a human being can sit down, pull up the application, and in just a few minutes with a quick look at the application, tell you if the general look-and-feel passes inspection.  Can it be automated?  Sure... but SHOULD it.

     

    What about hardware interfaces?  Recently, I asked about the ability to automate the testing of scanning barcodes.  Given a barcode displayed on screen, can I call or import code to read the barcode and return the results?  Sure... lots of stuff out there. But what if I wanted to automate the actual interface between a hardware device that does the scanning and the software?  Can I do that?  Sure... but it would take a good bit of resource to write the code to mock up a simulation of the hardware.  I could even go as extreme as grabbing some Lego Mindstorms and build a robotic arm to do the scanning.  But, again, given the time, resource, and effort... SHOULD I.  

    So... yes, I think everything CAN be automated... but not everything WILL be due to resource... and, for the same reason, because of ROI, not everything SHOULD be.

3 Replies

  • tristaanogre's avatar
    tristaanogre
    Esteemed Contributor

    I think the "not everything can be automated" is a bit of a mis-statement.  Given time, effort, and resource, EVERYTHING can be automated.  The more accurate statement is "given a limited amount of resource, not everything can be automated."  This would translate, as well, into something more on the lines of "not everything SHOULD be automated."

    For example, I could probably automate, given time and effort and resource, all the UI of the application I have under test including all colors, fonts, backgrounds, component positions, etc.  This would take hours, days, maybe even weeks.  Meanwhile, a human being can sit down, pull up the application, and in just a few minutes with a quick look at the application, tell you if the general look-and-feel passes inspection.  Can it be automated?  Sure... but SHOULD it.

     

    What about hardware interfaces?  Recently, I asked about the ability to automate the testing of scanning barcodes.  Given a barcode displayed on screen, can I call or import code to read the barcode and return the results?  Sure... lots of stuff out there. But what if I wanted to automate the actual interface between a hardware device that does the scanning and the software?  Can I do that?  Sure... but it would take a good bit of resource to write the code to mock up a simulation of the hardware.  I could even go as extreme as grabbing some Lego Mindstorms and build a robotic arm to do the scanning.  But, again, given the time, resource, and effort... SHOULD I.  

    So... yes, I think everything CAN be automated... but not everything WILL be due to resource... and, for the same reason, because of ROI, not everything SHOULD be.

    • maximojo's avatar
      maximojo
      Frequent Contributor

      True! It is the question that is the problem :) 

       

      I have been able to automate anything but yes, sometimes I look back and question "was it worth the time?" Not only that but was it worth the future maintenance time. And the product might be wholly changed which means I would have to start from scratch again anyway.

       

      But as you say tristaanogre and Colin_McCrae it depends on the resources available. Do we have a dedicated automation team? Well then maybe you have available resources.

       

      But if you don't (which is my case) then perhaps not.