The ongoing search for simple solutions.

Wednesday 25 November 2009

Tool - SpecFlow

Specflow is an OpenSource .Net BDD tool.












The workflow to create a running SpecFlow scenario is as follows:-

1. Add a reference to the TechTalk.SpecFlow DLL in the project that will contain your features.
2. Add feature files, step definitions and event definitions
3. Write a feature specification in the Gherkin format
4. Write step definitions and event definitions in C#
5. Execute generated unit-tests with a unit test runner

More information at - http://www.specflow.org/

Wednesday 18 November 2009

Tool - unlocker

Unlocker is a tool which allows you to 'unlock' and file which is cirrently being used by another process/application on your windows OS.

Unlocker can be downloaded for free from http://ccollomb.free.fr/unlocker/

Sunday 6 September 2009

TIP - Starting And Stopping Selenium Server Automatically

Found a nice article which explains how to start/stop your selenium server automatically using FixtureSetUp and FixtureTearDown of AssemblyFixture.

http://igorbrejc.net/development/cruisecontrolnet/gallio-starting-and-stopping-selenium-server-automatically-during-testing-using-assemblyfixture

TOOL - Nice site to practice regular expressions

At Rubular you can test your regular expressions using a sample string, and the site will show you what matched the expression. Seems a quick and easy way to practice/test your regular expressions.

http://www.rubular.com/

Monday 24 August 2009

Some notes on Slim (getting started)

To use Slim instead of Fit, you need to define Slim as the test system
  • !define TEST_SYSTEM {slim}
Symbols
  • $name= sets the symbol
  • $name uses the symbol
  • $name= also in script tables as first cell$
Decision Tables (aka Slim Column fixture)
  • Check/Check not – value test pass/fail
  • Ensure/Reject - bool test pass/fail
  • Note - comment
  • Show – display result
  • Start – sets up a different system under test
  • Optional constructor arguments after class name

Tuesday 11 August 2009

Free Icons from 37Signals.com

I found some nice, free to use, icons over at 37signals.com.

Tool - Flashmob (simulated load testing)

Just came across the site Flashmob, which is an interesting and easy looking load testing tool.

Basically, you can setup a number of virtual users to run scripts which simulate browser usage on a site. Flashmob uses Selenium to drive the user navigation. You can simply record selenium scripts using Selenium IDE then upload the scripts to flashmob, configure the number of users, usage patterns etc. and click Run.

The testing reports are also very detailed, and include usage graphs with failure numbers, and also links screenshots at the point of failure.

Looks very promising, but it's not free - you will get $100 worth of free credit just for signing up though.

Wednesday 5 August 2009

TIP - Creating Firefox profile for your Selenium RC tests

Found a nice post which instructs how to setup a Firefox profile for use with Selenium.

Why create a new firefox profile for Selenium?

We create firefox profile for Selenium RC tests, so we can set light configurations to it, which later on we’ll be using to run our Selenium scripts FASTER.

How to create Firefox profile for your Selenium?

  1. Make sure all your firefox instance are closed
  2. Click Start>Run
  3. Type “firefox.exe -ProfileManager -no-remote”
  4. Select “Create Profile” (i.e. selenium)
  5. Click “Next”
  6. Enter new profile name
  7. Select a directory folder to store your new profile
  8. Click “Finish”
  9. Select “Don’t ask at startup”
  10. Click “Start Firefox” and configure settings based on suggestion below***
  11. Set Profile back to “default” (enable you to use your previous settings on your browser)
  12. Add -firefoxProfileTemplate command line option as you start the Selenium Server

java -jar selenium-server.jar -firefoxProfileTemplate “

*** Suggested settings for your Selenium Profile

  1. From “View\Toolbars” tab, uncheck “Bookmarks Toolbar”
  2. Right click from toolbar and click “Customize”
  3. Remove “Google search” by dragging it to the “Customize Toolbar” window
  4. From the “Customize Toolbar” window, click “Use Small Icons” check box then hit “Done”
  5. Click “Tools\Options” then set the following:
    a. “Main” tab
    - set Home Page to “about:blank”
    - uncheck “Show the Downloads..” option
    b. “Tabs” tab
    - Select “a new window” for new pages
    - Uncheck all warning options
    c. “Content” tab
    - uncheck “Block pop-up” windows option
    d. “Privacy” tab
    - uncheck all “History” options
    e. “Security” tab
    - uncheck all “Security” options
    - click “Settings” and uncheck all warning options
    f. “Advanced” tab
    - Uncheck “autoscrolling” option from “General” tab
    - uncheck “warn me …” and “Ssearch Engines”option from “Update” tab
  6. From “Tools\Add-ons” install the following:
    - Firebug: allows you to edit, debug, and monitor CSS, HTML, and JavaScript on your application under test
    - Selenium IDE: allows you to record, edit, and debug Selenium tests
    - ScreenGrab: saves entire webpages as images.
  7. From the address bar type “about:config” and add the following by right-click anywhere on the page and selecting “new”
    - extensions.update.notifyUser (type=boolean; value=false)
    - extensions.newAddons (type=boolean; value=false)
Link to original - http://girliemangalo.wordpress.com/2009/02/05/creating-firefox-profile-for-your-selenium-rc-tests/

Monday 3 August 2009

TIP - Rename all photos in a folder in one go (Win XP)

A little bit off topic, but I found a great way to rename all the photographs in a single folder when using Windows XP. It's very simple, just carry out the following steps:-

  1. Select all the files which need renaming.
  2. Right click on the first file, and click "Rename"
  3. Give the file a name, which will be repeated in each other file name, and press return.
  4. All the files will be renamed, including a numeric increment. For example, if you gave the filename "birthday.jpg", then they will be renamed "birthday(1).jpg", "birthday(2).jpg", etc

Nice little time saving tip. Original article here - http://www.microsoft.com/athome/morefun/renamephotos.mspx

Thursday 30 July 2009

This feels scarily familiar...


I would be lying if I said that my department do things any better than this...

Monday 27 July 2009

Tool - TCPView

TCPView is a Windows program that will show you detailed listings of all TCP and UDP endpoints on your system, including the local and remote addresses and state of TCP connections.

You can download TCPView from Microsoft (free) here.

Friday 24 July 2009

Agile Testing tech talk at Skills Matter (22/07/2009)

In The Brain of Nathan Bain: Tools and Approaches - 22/07/2009. from Skills Matter on Vimeo.

Tuesday 16 June 2009

Debugging FitNesse Fixtures within Visual Studio

I came across a great article from Jim Holmes on his blog "Frazzleddad".
In his post, he explains how to debug FitNesse fixtures within VisualStudio - which is great, because if a FitNesse test fails for unknown reasons, it can be painful to get to the root cause of the problem - and I currently write unit tests to test the fixture code independently of the tables. By introducing Fixture debugging, I can run my FitNesse tests directly from VisualStudio, and use breakpoints to find out what is happening inside the fixture code.

Setting this up is very simple. Folow these steps:-

  1. Open the Project Property page for the fixture.
  2. Select the Debug tab.
  3. Select the "Start external program" radio button, and enter the path to TestRunner.exe in it's field.
  4. In the "command line argumants" field, enter the host, port and page which relate to your FitNesse test (e.g. localhost 8081 EmailSystemTests.TestSendMail)
  5. Set the fixture project as the startup project.
  6. Add breakpoints and click Run(F5)
* First time I tried, VisualStudio complained about the TestRunner.exe.config file. I just renamed the file, and everything worked as expected.

Here is a screenshot of the VisualStudio Project Properties dialog (stolen from frazzleddad)


Original post - http://frazzleddad.blogspot.com/2008/01/debugging-fitnesse-tests.html

Monday 1 June 2009

Agile Testing Quadrants

The "Agile Testing Quadrants" diagram is a great way to understand which testing techniques can be used at different stages of software's development - and also helps to understand the benefit's which can be derived from each testing technique.


The original idea for the Agile Testing Quadrant was taken from Brian Marrick (www.exampler.com), although I took this version from Janet gregory's presentation at Agile Vancouver (http://agilevancouver.ca/sites/agilevancouver/files/speakerslides/Vancouver-Quadrants.pdf).



Sunday 31 May 2009

Tool - Process Monitor

I was recently infected by a virus, which seemed to be undetectable by the anti-virus and spyware scanners which I had installed on Windows.

I finally found a solution on Yahoo Answers which recommended a tool called "Process Monitor". This tool allowed me to see all processes running on my PC, including those which don't show up on the standard Windows Task Manager.

You can download Process Monitor from Microsoft (free) here.

Monday 27 April 2009

Testers: The Hidden Resource by Lisa Crispin and Janet Gregory on Informit.com

I came across this great article by Lisa Crispin and Janet Gregory on Informit.com. I think it sums up a lot of what they wrote about in their book "Agile Testing: A Practical Guide for Testers and Agile Teams (Addison-Wesley Signature)"

Lisa Crispin and Janet Gregory point out the hidden asset on many development teams: the testers. By learning from agile teams, software teams using any type of development methodology can improve their use of testers and testing.

What do the words tester or QA engineer bring to mind? They're those people who think of ways to break the software, right? Isn't QA the team that comes in after the coding is done, to tell the programmers what they did wrong? It doesn't take all that much skill to be a tester; anyone could pound on a keyboard and check whether the software works, right?

Wrong. Think again.

In traditional projects, requirements are defined up front, usually by business analysts or product managers. Testers have learned to analyze each requirement—looking for completeness, ambiguity, correctness, and much more—so that they can write detailed test cases. However, development teams using this type of phased and gated methodology often tie the testers' hands, giving them no way to get requirements changed if they find contradictions or unclear specifications. By contrast, testers on agile teams get the opportunity to accommodate and embrace change. By observing how testers contribute value on agile projects, we can see how agile testing principles and practices may be applied, regardless of the development methodology being used. The key is making testers full partners with developers, giving them access to business experts, and involving them from the very beginning of each project.

Read the full article on InformIT

Monday 6 April 2009

How to expect a non-matching result in FitNesse.Net

Using FitNesse.Net, it is simple to create a test which specifies what the expected result of a test should not be. For example:-

One plus One should not equal Three.

To do this, you simply put fail[{result}] in the result cell. For example:-

Other Blogs