Testing? Why Should We?

Muhammad Ayaz Dzulfikar
MeetU Engineering
Published in
3 min readApr 3, 2018

To start this, I’ll tell you something: I am not really fond of testing. Not because I’m scared that I’ll find a bug, but because doing it is quite tiring and repetitive. Though maybe, someday I’ll find a fun way to do testing.

In a nutshell, testing in software development is.. uh… testing! As we want to deliver a good, working product, we should test a lot of aspect in our software. Maybe we can test the functionality, like doing test in the logic part, or test the behaviour when we click a certain button, etc. There are several definition in testing, below is 2 testing stuff that are quite general:

  1. Functional Testing. We test how our software works, and check whether it works as we expected. In this test, we usually test the functionality of the system, maybe by doing unit test on class level, doing usability testing, etc.
  2. Non-Functional Testing. If in functional testing we test the functional aspect of our software, non-functional testing test the non-functional aspect of our software. A good example of this is testing how many user can login at the same time, as it is not related to the functionality of the software we tried to build, but more related to the architecture.

That is testing. But, why testing is important? Let’s try to see from some different aspects:

Developer

Of course, after writing several pieces of code, we always test them to check whether it is working as we expected or not. Maybe we will think,

“OK, it works on my machine, it should work anywhere else. I don’t need to write unit test for this, ain’t nobody got time for that”

Well, the fact is, maybe it only works good in your machine. Also, most of the time, we need assurance that the code is working perfectly, by having it tested every time. Beware that maybe someone else is going to use your code, or maybe someone else has to maintain it. It’s quite nasty right if minor change that can break the whole system pass because there is no proper test?

Also, even we can forget what we wrote before, so basically, it’s really important to write test, in order to assure everyone that the code is safe.

taken from https://me.me/i/oh-god-this-code-is-horrible-who-wrote-this-crap-18525956

Product Owner

Imagine a conversation like this:

Owner: “Have you implemented the new feature?”

Dev: “ Yeah, we’ve done it”

Owner: “Cool. Have you tested it?”

Dev: “Nope. Why should we?”

Owner: “Err…”

It is very terrifying when you learned that the product you wanted is not tested. It’s like “Hey, we created a bomb, but it may explode when you try to use it”. Remember, Product Owner is not involved in the codes themselves. Hence, they need some assurance that the product is working perfectly.

And that is where testing come to rescue all of us! Product Owner don’t necessarily know how the test is going, but knowing that the develepors already tested it is very important to the Product Owner. It is like the assurance they actually need.

End-User

I have an idea: let’s just deploy this product, and just wait until any user find an error and report it to us! After that, we will do some bug fixing!

taken from https://blog.testfort.com/testing-methodologies/using-production-data-for-testing

Well, it’s too risky. There are several reasons for them:

  • It creates bad experience for the user
  • Well, user may delete the software before they report the bugs to us, or they simply don’t care
  • It may takes a long time to fix the bug. Imagine your favorite feature is buggy, and you can’t use it since the developers are still fixing it
  • It may corrupt the database. Imagine there is a bug where any user can accidentally drop the database
  • etc, etc.

Conclusion

While testing may be boring to some people (like me), it is still an important part of software development. Doing test not only benefit the developers, but everyone involved in the software itself.

--

--