2007/Jul/01

I listed what I should do in this blog. Well, I cannot finish all of them in time; however, I intend to finish all in this month. Let's take a look to the previous list to see what I have done.
  1. Select the topic and present it in Machine Vision course.
  2. Set up CSIM-Library system and enter all books into this system.
  3. Fix bugs in ORQS project and make it up and running in the real world.
  4. For SDQI-Search project, look at MediaWiki search and develop our own search class.
  5. Refine the analysis and design in SDQI-Search project.
  6. For Thaitopic website, fix SQL query in the advance search.
  7. Read and review Machine Vision lectures.
  8. Read and review SDQI lectures.
  9. Demonstrate SAD project and return OLPCs to Matt.
The rest of them will be put in my To-do list in July 2007 as you see below.
  1. Enter all books into Library system and Add CSIM members too.
  2. Fix bugs in ORQS project.
  3. For Thaitopic website, fix SQL query in the advance search.
  4. Read and review SDQI lectures.
  5. Demonstrate SAD project and retrun OLPCs to Matt.
  6. Work on the first iteration in DXC (Data eXchange Center) project for the Ministry of Justice.
  7. Prepare for the coming exam at the end of this month!
  8. Prepare my laptop for Ubuntu.
  9. Present my topic in MV course.
  10. Finish my SDQI project.
  11. Study how to use LaTeX.
  12. Study how to use Octave or Matlab.
It will be great if I can finish over 90% of all tasks. If so, next month I will have more free time and I could fully focus on my thesis topic.

2007/Jun/27

Today I have tried SimpleTest out which is an unit testing tool (see here) It's quite easy to use, but I think the report that this particular testing generates is not much beautiful. It says that I could extend the report class; however, it's a little bit more difficult to do that.

Once I can use this testing, I found some problems... I don't know what I have to test in my project! (it's a kind of trivial search engine) It's obvious that the function we have to test is just a search function, isn't it? You know, it's very hard to think about what to test when you do have nothing to test.

Anyway, I should think about it more - -" Let's start by dividing my testing into 3 parts:
  1. Before search
  2. While searching
  3. After searched
then I will look into each part and create test cases. It would be easier.

2007/Jun/25

Testing is one of the most important tasks of writing softwares, but most developers or programmers pay less attention in this part. However, every product, such as commercial products, must be tested before they are released to the world.

The simplest way to write testing code is to write the print statement in your code. By being a little bit more creative, you could create your own method, let's say "assert", and let every method call it. It is obvious that your testing has limitations. For instance, when you want to turn off your testing, you have to comment those print statements out! Think about it if you have a thousand lines of code. You don't want to do that, do you? And another problem is that your code is not scalable. When you add more lines of code, you have to add more print statements, right?

There are many kinds of testing and the well-known one is "Unit Testing". You can read the information about it more here.

I won't write anything about it because I think the reference above already explains it explicitly.

By the way, how do we write testing code?

Nowadays, we don't need to. Why? Because many developers do for us. Many frameworks and tools of testing you can use are out there.

I have found this site, Opensourcetesting.org. I think it would be very very useful certainly for developers; so, we should change our old attitudes that testing is boring or something and intend to study it.