My work is about writing software. My software, my code must be tested. This company employs Quality Control specialists. Their job is to make me weep, so that i don’t make the client/user cry after using my software. They are well trained at their craft.
The interesting and crazy things they do in order to cause an error, borders on the lines of witchcraft and sorcery. My favorite issue belongs to the time, I was working on an Augmented reality project. QC determined that wear a shirt with a lot of strips caused the application to slow down. He was right. The pattern matching portion went into overdrive, when the web cam had a striped shirt in view. Having QC people goes a very long way towards pushing out high quality code. For this I believe that I am fortunate. For every bug/issue I resolve, they must go through the entire application on all “supported” browsers and Operating Systems. I’m left to believe some of the crazy things they find, no human will actually do. Tester are not human.
It’s unreasonable to have the expectation that your application will pass a full quality control test the first round. Though a lofty goal, I would agree. A better goal would be, not to allow previously resolved bugs to creep back into the application. This is were unit test can be helpful. Fix a bug, build a supporting test, move on.
Working on applications built with a Ruby on Rails foundation, there are many testing libraries to start from. TestUnit, Shoulda, RSpec, Cucumber plus more, makes for an interesting selection. Theses testers are not human. More like the Borg in my mind. Always growing in numbers and adapting to their environment. No emotion, you either passed or failed.
But no matter which library you choose, as your application grows in size, so does number of tests. Running the full suite of tests could take several minutes.
Tools like Autotest help make this less painful. Autotest is all about mappings. It maps unit tests to their appointed piece of the application. When a file is saved which has an Autotest mapping, Autotest will run the mapped test. For example, BlogController belongs to the BlogControllerTest functional test. If I were to edit the BlogController, Autotest would run my BlogControllerTest. I would know with in seconds if my edit has caused testing errors. There is a problem with Autotest though. Autotest doesn’t understand namespacing. In my next article, I will discuss what that means, and what my solution was.
My work is about writing software. My software, my code must be tested. This company employs Quality Control specialists. Their job is to make me weep, so that i don’t make the client/user cry after using my software. They are well trained at their craft.
The interesting and crazy things they do in order to cause an error, borders on the lines of witchcraft and sorcery. My favorite issue belongs to the time, I was working on an Augmented reality project. QC determined that wear a shirt with a lot of strips caused the application to slow down. He was right. The pattern matching portion went into overdrive, when the web cam had a striped shirt in view.
Having QC people goes a very long way towards pushing out high quality code. For this I believe that I am fortunate. Every bug/issue I resolve, they must go through the entire application on all “supported” browsers and Operating Systems. I’m left to believe some of the crazy things they find, no human will actually do. Tester are not human.
It’s unreasonable to have the expectation that your application will pass a full quality control test the first round. Though a lofty goal, I would agree. A better goal would be, not to allow previously resolved bugs to creep back into the application. This is were unit test can be helpful. Fix a bug, build a supporting test, move on.
Working on applications built with a Ruby on Rails foundation, there are many testing libraries to start from. TestUnit, Shoulda, RSpec, Cucumber plus more, makes for an interesting selection. Theses testers are not human. More like the Borg in my mind. Always growing in numbers and adapting to their environment. No emotion, you either passed or failed.
But no matter which library you choose, as your application grows in size, so does number of tests. Running the full suite of tests could take several minutes.
Tools like Autotest help make this less painful. Mappings is what Autotest is all about. It maps unit tests to their appointed piece of the application. When a file is saved which has an Autotest mapping, Autotest will run the mapped test. For example, BlogController belongs to the BlogControllerTest functional test. If I were to edit the BlogController, Autotest would run my BlogControllerTest. I would know with in seconds if my edit has caused testing errors. There is a problem with Autotest though. Autotest doesn’t understand namespacing. In my next article, I will discuss what that means, and what my solution was.
Share and Enjoy:
These icons link to social bookmarking sites where readers can share and discover new web pages.