Monday, December 23, 2013

What book to read about software testing ?

I am working in software testing since 1997. At some point when I became more experienced I started to get questions what book a beginner tester should read. I never felt confident what book to recommend to absolute beginner. Seems like one of the best scenarios for a beginner is to read some basics paper over internet, and to focus on following the more experienced testers in his team. Why ?- you will ask. Because I believe that a beginner should get acquainted with the terms in software testing. But before getting deeper in the testing he should get some practical experience. Sounds crazy :-). But you can't fill up you cup if it is already filled in... right?

So - get familiar with basic concepts and go and accumulate experience. At some point you will feel that something is wrong ... the basic concepts doesn't always fit in the practical testing.  The testing requirements and expectations you get from management doesn't seem right.  You are confused... Congratulations - your are at the right point to start learning more. At this point I can help you with book recommendation:

Lessons Learned in Software Testing: A Context-Driven Approach

Cem KanerJames Bach, Bret Pettichord


So why I believe this book is good(the best?).

  • it summarize the truth about practical side of software testing and how it fit in the whole picture of software development.
  • it is painfully honest... especially for dumb management that has stupid an unrealistic expectation towards testers/testers teams
  • the lessons/stories are short. You need ten's of minutes to read one. And you may read them in (mostly)  random order
  • you can find most of mistakes you/your team/manager are doing well described in the book. And there is some hope you will be able to learn and fix them.
  • I really respect the authors. Find more about them in the net and you will respect them too.


Tuesday, August 20, 2013

Big Red Button - DONE

Here is a description of Big red button (manager's) dream.

The purpose is to run automated test set with one press of a "big red button" and then to get results.

The workflow

1. The box contains arduino board plus 2 buttons (red and blue) and 2 pots. Red button is for starting tests, blue for canceling. The left pot is used to select target server to run test against. The right pot is used to select which smoke set to be started (2 added for now)
2. Arduino box is connected via usb interface to win8 controller machine
3. On the controller machine simple python script gets the state of all buttons and pots
4. When red button is pressed a post request is executed to a jenkins server in order to start the test
5. Jenkins runs the test set on a slave machine and collect results
6...999. The sophisticated framework does the job

ok I know... it looks ugly with those green stickers :-)

... few days later labels updated with printed ones and 1 smoke set added


ps: 2017 update is here

Wednesday, August 14, 2013

The Big Red Button

The manager's dream :-). I am teasing you.


Why not build it? ...

Everyone can cook(automate)! [2]


...continued
   
  • You need to investigate and find some tool appropriate for your application under test(on this topic I can write more in future)
  • Set a realistic goal for the start (forget about 100% automation). You need 2-3 tests that run every day and sends you systematically a test report. The tests should be really simple: validLogin, do something, logout. Here you have 3 tests
  • You need to get some /virtual/ environment to run your tests without breaking the tests run accidentally.
  • Your developers need to have CI(continuous integration) builds. You should be able to get new build of AUT each day

Now you are having something working on regular basis and you are able to add mores tests, BUT ...

  • Your AUT changes UI and functionality too often
  • You need to spend time for adding new tests and supporting old ones
  • Management get excited and rise expectation - you have so much free time now when automation is doing your work :-)
  • You start to notice that "testability" of AUT is preventing you to advance in automation
  • It seems like time spend for automation is too much and it is better to do those 3-5 test manually...
To be continued...

Tuesday, May 28, 2013

Everyone can cook(automate)! [1]

As you may already know  am not a big fan of 100% test automation. However I need to make clear that I found test automation important and very helpful if applied in the right way. Currently I have hundreds of UI automated tests that saves me a lot of troubles during last pre-release weeks. And yes they do not cover 100% of the AUT.

Recently I have seen few cases where testers cant start test automation in their project for months or even years. So where is the problem? Are those testers stupid or what? I decided to share my view on this topic.

I believe everyone can automate :-)

So where the problem might be:
  • You do not have testing environment at all. It is a common case testers to test in very bad conditions: Lack of CI builds, Lack of machines
  • You think you do not have skillset.
  • You do not have right tool
  • You do not have time
  • The management support automation only "on paper", but doesn't actually care about it. They have expectation about 100% automation, but seems you are not capable to do it.
Sounds familiar :-)


To be continued...



Thursday, February 21, 2013

Most important aspect for exploratory testing

The simpler definition of ET is "Simultaneous learning,test design and test execution."
I found tons paper on the net about ET. They all emphasis on similar aspects on the technique. However I always missed something ...

For me the definite requirement is ET sessions to be uninterrupted 

Monday, February 4, 2013

Generate images for testing

I recently needed to generate dozen of image files for testing purposes. I wanted different size and i want file to be named after the size and the size to be printed into the image.

One way to do this is go and use paint for the job. But I am lazy.

I found nice web service that does exactly what I wanted - http://dummyimage.com

So I decided to combine some excel spreadsheet with curl(http://curl.haxx.se) and to create a simple batch to generate images.

here are few lines of my batch:

curl -o images\50x50.png "http://dummyimage.com/50x50/0f0/000.png"
curl -o images\100x100.png "http://dummyimage.com/100x100/0f0/000.png"

and this results in images like this in images folder




Above batch lines was generated using excel concatenate function based on 2 column that defines X and Y so I can easily change the parameters.


That is all :-)


Thursday, January 17, 2013

"100% automation" - what is this?

"100% automation" can be ...
  • Mission impossible
  • Strong demotivator
  • Good way to actually decrease quality
  • A manager ego booster
  • A way to say to testers " Do not plan many tests or test that are not automatable"