Thursday, September 13, 2007

Cyclomatic Complexity

Assalamualaikum and good evening....

Today, we learnt something new in class...Cyclomatic Complexity (CC)...

Cyclomatic complexity may be considered a broad measure of soundness and confidence for a program. Introduced by Thomas McCabe in 1976, it measures the number of linearly-independent paths through a program module. This measure provides a single ordinal number that can be compared to the complexity of other programs.
(http://www.sei.cmu.edu/str/descriptions/cyclomatic_body.html)


The cyclomatic complexity of a software module is calculated from a connected graph of the module.

According to Puan Badariah, there are few formulas to calculate the CC...

Formulas:
  • CC = E - N + 2 or
  • CC = E - N + p

where:

E = number of edges

N = number of nodes

p = number of connected components

Puan Badariah also gave us an exercise on CC... We will discuss about it next week...

Girls...as a reminder, this is the codes of the exercise that we are required to do...

if x = 1 {
print "1";
else
print "2";
}
if y = 1 {
print "A";
else
print "B";
}

  • For the exercise, firstly, we need to draw the equivalent graph (path).
  • Secondly, we need to give reasons on the implication of testing (Cyclomatic Complexity)

Okay...that's all...:)

Selamat Berpuasa to all...

Wednesday, September 12, 2007

Ramadhan Al-Mubarak...

Assalamualaikum....

Dear friends,

Ramadhan, takes the entire Muslim Ummah in a religious season surpassing any annual event in the world. The holy month of Ramadhan unites all Muslims in fasting, feasting, worship and prayer.

Selamat Menyambut Ramadhan Al-Mubarak...

Semoga di limpahi rahmat-Nya...insyaAllah...

Tuesday, September 11, 2007

Chapter 8

Assalammu'laikum..

Today we continued with chapter 8, testing the programs....

In this chapter we learned about software faults and failures, testing issues, unit testing,
integration testing, testing object-oriented systems, test planning, automated testing
tools, when to stop testing...

Test is successful only when a fault is discovered

  • Fault identification is the process of determining what fault caused the failure
  • Fault correction is the process of making changes to the system so that the faults are removed

There are many types of faults :

  1. Algorithmic faults
  2. Computation and precision faults
  3. Documentation faults
  4. Capacity or boundary faults
  5. Timing or coordination faults
  6. Performance faults
  7. Standard and procedure faults.

The types of testing is :

  1. Module testing, components testing or unit testing
  2. Integration testing
  3. Function testing
  4. Performance testing
  5. Acceptance testing
  6. Installation testing
We can view the test object from the outside as a closed box or black box whose contents
are unknown, your testing feeds input to the closed box and notes what output is produced.
Clear box or white box is the structure of the test object to test in different way.

There are two types of code review, its code walkthrough and code inspection.

Types of test thoroughness :

  1. Statement testing
  2. Branch testing
  3. Path testing
  4. Definiton-use testing
  5. All-user testing
  6. All-predicate-uses/some-computational-uses testing
  7. All-computational-uses/some-predicate-uses testing

An integration testing methods:

  1. Bottom-up
  2. Top-down
  3. Big-bang
  4. Sandwich testing
  5. Modified top-down
  6. Modified sandwich

Each step of the testing process must be planned by test planning steps:

  1. Establish test objectives
  2. Design test cases
  3. Write test cases
  4. Test test cases
  5. Execute cases
  6. Evaluate test results

Monday, September 10, 2007

Don't Forget to Prepare Yourself...

Assalamualaikum and good evening....

Girls...I would like to remind all of you about this...
Please be prepared before you come to class okay??
I've reminded you guys about this many times...
Hehe...:P

Anyway...tomorrow we'll be learning chapter 8, Testing the Programs...
I hope all of you have read the slide at least...
But, it's a good practice if you also read the text book...
You will be able to understand about the topic clearly...

So, hope to see all of you tomorrow...
Adiosss....:)