Development, software development, tips

Self-Testing Development

Testing is a hard part of software development. One of the hardest aspects of development is testing code/features that you have created. It is easy to put the blinders up and write to the spec. Insider knowledge of the system probably plays a role in this difficulty. Seeing a system through user eyes is nearly impossible, but to get close you need to decouple yourself from the code.

Discipling yourself to test your own code and finding your own bugs is a difficult task. It is possible. Being a part of a code review process in which the code reviewer(s) look at code and possible bugs has made me a better developer. You will never find all of the bugs in an application; it takes a team, users, and time. The more bugs you find earlier the more reliable and usable the code will be.

Testing while you go helps too. Think of a fringe case? Go ahead write it down. Write a test for it. Do something.

The ability to look at your own code objectively is something I am continually trying to improve at. Catch bugs sooner. Make your code better sooner.

You are not your code

Refine.

You are not your code

Why would the user do x / y ?

They will. Many many many times.

Sometimes I click randomly on everything multiple times just to see what will happen. Curiosity. Users have curiosity with new features and will push them to their limits. An in-depth UAT will definitely find a number of bugs / issues. UAT is important because users will more easily accept tested code versus bug filled applications.

Here is the typical development process that I have had success with.

  • Development / Self-Test
  • Self-Test
  • QA
  • Code Review
  • If Large Changes? QA Again
  • UAT
  • Deployment
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s