GraphWalker - Open Source Model Based Testing

GraphWalker is a tool for generating offline and online test sequences from Finite State Machines and Extended Finite State Machines. GraphWalker is only the tool for traversing your models. It does not have a GUI to modeling it self. However, it is normal to "bundle" GraphWalker with the free graphml editor yED. yED provides a free and nice tool for creating and editing models fit for GraphWalker.

Updated the Worlds Test Automation Tool Comparison Matrix

I just get a bit of input for my test automation tool comparison matrix. Which is the most comprehensive comparison know to testers in this world.
Just added: Ranorex and Watir. And does now contain:
TestComplete, QTP, CodedUI, Telerik, Test, Studio, Qualiber, White, Test, Automation FX, Ranorex and Watir. And more are under planning.
The Test Automation Tool Comparison Matrix is found here:

DSTB Conference and answering a question in detail. BVA as a model.

Yesterday I spoke at DSTB yearly conference. It was a great day, and I talked to a lot of great testers. Luckily I also got some got feedback on my presentation about Model Based Testing (link Supplied in the bottom of this blog post).

I also received a question about modelling a Boundary Value Analysis (BVA) test as a model. Even though I gave a for filling answer in my session. I found the need to post it here.

Performance Testing Questions. Load, Volume, Soak, Spike And Stress testing

It has been a couple of years since a last designed, implemented and executed a performance test. But a few weeks ago I did receive a couple of questions about. I came with answer from the top of my head. Not all bad I think.
"Can you give me a short explanation of: Load testing, Volume testing, Soak testing, Spike testing and Stress testing"
The short quick answer from me:

What is Use Case Testing

Before explaining Use case Testing lets first understand what is a Use Case

A Use case is a description of a particular use of the system by the end user of the system.
Use cases are a sequence of steps that describe the interactions between the user and the software system.
Each use case describes the interactions the end user has with the software system in order to achieve a specific task.

Decision Table Testing

A decision table is a tool for both testing and requirements development. They are essentially structured with the purpose to formulate requirements when dealing with complex “business” rules/logic.

A Take on the Software Testing Pesticide Paradox

What is the Pesticide Paradox? Why do you need to take it so serious? How to avoid it?
Very, very, very often, it not always. The same tests are repeated sprint after sprint, or test iteration after test iteration or release after release. It seems to be a conscious choice to ignore the fact that bugs are most often found with having variance in the testing.

Did a small Talk about Test Automation, Exploratory Testing and Agile Development on a small conference at CPH Buisiness

I had the pleasure to get to talk about some of my favorite stuff. Test Automation, Exploratory Testing and Agile Development at this small small conference the other day.
It was only 45 minutes. But, I was the last presenter. And they were not in a hurry. So instead of 45 minutes and had a approx 1 hour and 15 minutes. Super fun..
A link to the presentation is here: Test_Automatisering_And_Exploratory_Test.pdf

Introduction to the good defect report (Bug or Error report)

Why do we need good Bug reports?
If your bug report is ineffective, chances are very slim to succed with getting to bug fixed or even approved. Fixing a bug depends on how good the description of it is. Reporting a bug is nothing but a simple skill. It might feel like it take longer time to do this. But over time you save your self a lot of trouble.

“The point of writing problem report(bug report) is to get bugs fixed” [Cem Kaner]

If tester is not reporting bug correctly, programmer will likely reject the bug stating as not reproducible. And that's a bitch...

What to automate when doing Test Automation?

Its hard to determine what is a “Best Practice” (And I do not believe in a general “Best Practice”) in this selecting automated testing candidates, since many aspects of software/hardware/Data/Conditions influencing the test,
However there are some general reasoning which could be applied when selecting candidates for automation.
There are generics, such as highly repetitive tasks that have low return or have standard results which make good candidates for automation. Other aspects of the environment are very much subjective, and it is clear to the business what areas would best to automate.

It might not possible to automate everything in the Software; Or.. It is definitely not feasible. But then again. It is not possible to test everything manually either.
Choosing what to automate and what not to is a cooperation between the test lead and the test automation developer.

Shutdown or restart my Windows computer via command prompt?

It could be that you are working in a virtual environment and the ability to rebooting is not available to the Remote Desktop Connection. Then it is very nice to be able to reboot from commandline.

Microsoft Windows offers several ways to shut down or restart your computer, one of which is via the command prompt.

To access the command prompt window from Vista or Windows 7:

  • Go to the Start menu
  • Type cmd in the Search field
  • Press Enter

On a Windows XP computer:

Enable Remote Desktop Via Command Line in Windows

The set up is enable Remote Desktop Connection for easy remote systems management. The following command shows how to use netsh to open Windows Firewall for Remote Desktop Connections:

The netsh firewall command-line context might be deprecated in a future version of the Windows operating system. We recommend that you use the netsh advfirewall firewall context to control firewall behavior.

Mapping and unmapping network drives in Windows

The net use command is a Command Prompt command that's used to connect to, remove, and configure connections to shared resources, like mapped drives and network printers.

Net use command connects / disconnects the computer from a shared resource, or allow to view the information about current computer connections. This command also can controls persistent network connections. If you will use net use command without any parameters, you will retrieves a list of network current connections.

The net use command is one of many net commands.

Net Use Command Syntax:

How to set Static/DHCP IP Address from command line in Windows

Applies to: Networking, Windows Server 2008, Windows Vista, Windows XP, Windows-Server-2003 Add comments

In Windows Server 2008 Core installation, the only way to setup IP Address either Static or DHCP is from the command line. The following procedure helps setting the IP Address from the command Line using “netsh”. This procedure works in Windows Server 2008 (No core installation as well), Windows Server 2003, Windows XP, Windows Vista.

To setup Static IP Address:

From the command prompt:

Change computer name from command line in Windows

Applies to: Windows command line, Windows 7, Windows 8, XP, Server 2003, 2008, Vista

You can rename a windows computer from command line using WMIC computersystem command. See the command below

WMIC computersystem where Name="[PresentName]" call Rename Name="[NewName]"

After running the command, you need to reboot the computer to make the changes effective.

Getting the TestComplete 10 Installed and Updating the Licenses on the Excisting License Server

I did an install of the new TestComplete 10 last week. And it has been pointed out to me, that some of the Smartbear documentation is a bit off, or unnecessary. i even might create some confusion.
So here I will give you my way to getting the TestComplete 10 upgrade to being a success..

What is software testing?

Software testing is a method of assessing the functionality of a software program.
Software testing is the process of evaluation a software item to detect differences between given input and expected output. Also to assess the feature of A software item. Testing assesses the quality of the product. Software testing is a process that should be done during the development process. In other words software testing is a verification and validation process.

Getting TestComplete to wait for a specific process lowering CPU usage

Sometimes while running tests, the CPU usage for a process (ie. tested application) can get higher than wanted. If the test get unstable due to this. The little trick can help you wait for more CPU power.

function TestProcessCPUUsage()
while(Sys.Process("chrome").CPUUsage > 5){
Delay(2000, "Chrome CPU usage: " + Sys.Process("chrome").CPUUsage);

Getting TestComplete to wait for more available CPU Power

Sometimes while running tests, the CPU usage can get higher than wanted. If the test get unstable due to this. The little trick can help you wait for more CPU power.

function TestCPUUsage()
// Will wait for the used CPU power to get below 5%
while(Sys.CPUUsage > 5){
Delay(2000, "CPU usage: " + Sys.CPUUsage);