When are you a tester and not a developer with passion for test?

A while ago I saw a video with Jan Jaap Cannegieter where he said something like “it doesn’t have to be a Tester, it could be a developer with passion for test”. After that I started to think about what is the different? When do you become a developer with passion for test instead of a tester and vice versa.

  • Is it depending on your title and tasks at work?
  • Is it about your ability/knowledge about programming?
  • If you are a really good programmer but also a really good tester. What are you then?
  • Is it only about where your heart lies?
  • If you are a developer that works a lot with testing, perhaps often more than developing, are you then still called a developer? or are you then a tester, whether you want to or not?

 

One thing I know is that I am a tester and not a developer, maybe a tester with a passion for development!

 

 

 

My work process…

This is my backlog:

This is my “Done Bowl” (just emptied):

Sometimes if feels quite unstructured with all these sticky notes but there are some really great benefits

1. It’s easy to sort them into different groups and priority.

2. The really really urgent tasks I can put on my screen so I won’t miss it.

3. I don’t need my computer to write new tasks.

4. When I leave them on my desk I really do leave them so they won’t stress me.

5. They are really visual and the amount of tasks is really obvious as well.

6. Thanks to the “Done bowl” even the tasks that are done are really visible so they make me feel good and happy.

7. They make my life more colorful.

 

Don’t underestimate the power of sticky notes!

 

Not only features

 

Software testing is not only about verifying functions. A system is so much more than functions, if it’s suppose to be useful anyway. The system has to live in a context and in a world with many different users with many different needs and behaviors.

 

There are many stakeholders, not only the end users. All these stakeholders have different requirements and wishes for what the system should handle or support. It can be deliverables or qualities that must be in the system to make it possible for these people to do their job. For example, if an operating technician should be able to maintain a good level of security there must be routines and support for back up. Taking new back up and restoring an old back up just have to work. These things are crucial for an operating technician while the market department hasn’t dedicated this even the slightest thought. The market department on the other hand, might be anxious about the coolness of what is delivered in the next version, so they can beat the market by surprise in their next press release. Yes, there are many different stakeholders and many different wishes.

Example of stakeholders and their requirements/wishes

 

How do we do to cover more than just functions?

 

First of all I think we have to look beyond requirements specifications, meet all the different stakeholders and discuss what’s important for them. There is a lot of support in lists of test types like performance test, load test, usability test, installation test etc. Collect a list of your own, with suitable test types and go through them for every project to determine which applies for the test object. My list, of absolutely necessary test types that should be included in almost every project, is:

 

–          Functional test

–          Usability test

–          Platform test

–          Security test

–          Access level testing

–          Performance test

–          Stress test

–          Stability test

–          Installation test

–          Recovery test

–          Storage test

–          Volume test

 

There might be other types of test that can be applicable depending on the project and system under test. There might also be the opposite, several of the test types mentioned above might not be applicable or require very little effort. Often this is related to time and money but also what is valuable to test. But, just by discussing an area you have lifted up the different qualities and then the project can make a decision whether the area should be tested or not.

 

When you come to the point where you have identified all stakeholders and their requirements and whishes, you probably have an enormous amount of work before you. To cover all is impossible and most likely not meaningful. Therefore, your next task, possibly even more difficult, is to prioritize. Whose requirements are the most important? We can look deeply into this but the thing I think is the most significant is to make sure you communicate a lot with all stakeholders.

 

Someone whose list is very long and full of details is Rikard Edgren. The last time I listened to him his list was 77 test ideas long. See http://thetesteye.com.

 

What does your list look like?

What smart test types do you have in mind and which to you think is absolutely necessary for most systems/projects?

 

 

Tester, coach and comfort buddy! The full package deal.

Once upon a time there was this company who struggled with a poorly built system. Every day the users got more and more annoyed on the bad interface. One day enough was enough and the kind boss asked a prominent consultant to build them a new system. The developer consultant arrived with his shiny laptop and started working. It was not long before the consultant started to struggle. The environment and business logic turned out to be a lot more complex than he predicted and none from the company side could give him any straight answers on how things should work. After many weeks of swift coding the system was ready for the users to test. And once again the consultant was faced with the users’ unavailability.

It was time to call in a tester. The humble tester arrives and is quickly introduced to the system and the users. Only two weeks left until deployment and no tests run, the tester decided to use the users as testers. One by one the users were booked for an hour each. The tester arrives to the meeting with a few bullets that needs to be tested and tell the users to use real data when testing. The users slowly start to familiarize themselves with the system and a lot of feedback is recorded by the tester.

The developer is happy to finally receive feedback.

The kind boss is happy the quality will be improved.

The users are happy that their opinions are raised.

The tester is happy that the system has been tested, the users introduced to the system through coaching and that everyone now seems comforted that this new system will save their day.

I doubt 200 test cases could have done a better job in this case.

 

 

Need some fun? Looking for some fun?

Do you need something fun for your test conference or need to cheer up your test team?

 

We are looking for new oppertunities to perform the “The Supertester – A Slightly True Story”.

 

The Supertester – A slightly true story” is a theater performance where we try to mix serious test issues and common prejudices with laughs. We will take the roles and personalities of project managers, testers and super heroes to a new level. We will use prejudice and radical opinions in our effort to entertain and inspire.

You will meet the project manager who blame the test department for everything that goes wrong. The project manager loves all the new and cool development methods. He is not making it easy for the poor shy little company tester who lost the last shred of self confidence the first day at work. Can she be saved by the magnificent Supertester and once again be restored to a strong tester who stand up for her profession? Will the powers of the Supertester be enough to save the organisation?

 

Join us in a twisted but still slightly true world of testing.

 

You can read more about the show under The Show.

If you are interested don’t hesitate to contact us at linda.hoff (at) gmail.com or anna.o.hoff (at) gmail.com

 

 

I have a dream…

 

”I have a dream where people look beyond waterfall steps and agile manifests.
I have a dream where scripted testers and exploratory testers are living together in harmony.
I have a dream where testers stand up proudly and talk about their job and progress.”

From “The Supertester – A Slightly True Story”

 

The last couple of years, I’ve experienced two sides within the test world being formed. One side that is for scripted testing and ISTQB and then there are those who are against ISTQB and completely into exploratory testing. On test conferences and seminars I’ve heard test guru insult “the other side”. Those who are for ISTQB are narrow-minded academics that spends way too much time on statistics and administration, which is a completely waste of time and of no use at all. What is a certification about anyway? Is it really a proof of a skilled tester? The others, the ones that are into exploratory testing, they are fuzzy, unstructured and count on gut feeling way too much and they just laugh science in the face. But, who is right?

I don’t know who’s right but I know what I think. No one! Those who’s right, according to me, are the ones not taking sides, but sees the advantages of both approaches, pick the cherries and uses a little from both sides.

Below we can see a fairly typical picture for describing scripted testing and exploratory testing. The picture shows a scale where one can do more or less of the two ways of testing.

At previous workplaces of mine and also as a consultant I have had the privilege to see different organizations and projects and it is only at one single occasion that I’ve seen pure scripted testing. There where one person who was responsible for designing and writing new test cases but also updating them. The test team consisted of a couple of testers which only task was to execute test cases and report bugs. We ran a complete function test every week. It’s the same with the other side of the scale. I only experiences 100% exploratory testing once. We worked according to Scrum and all new development was tested with exploratory testing. The regression tests, on the other hand, were a kind of scripted test (the test steps were not that limited, especially when it came to test data). At all other projects and organizations I’ve been to, testing have been a mix of techniques and approaches. The test cases are completed parallel with execution, some test cases are very detailed and others invite creativity to take full advantage of the testers’ experience. Do I then feel that the tests have been better or worse at some particular place? The organizations that succeeded to pick the best parts out of several methods and found a harmonious mix, are the ones I think have had the best quality, the best control over their work and orderliness. They also had the most satisfied test team, which was proud about their work and gladly embarked on new bug hunting adventures every day. The places I feel didn’t work well at all, are those where management had to nag about some particular method/process every week and they had to force the team to use this process or some fancy tool, but all these stuff didn’t fit the products worked on or the personality of the team members. These organizations spent a lot of energy discussing why/why not to use this particular method and this steals a lot of focus from the day to day work and no one gets any peace or inspiration to perform some really good work.

Another aspect that I have been thinking about is the testers’ personality. Not everyone is suitable as exploratory testers. I think most people agree that they don’t, but is it then right to limit the title “Tester” to solely creative and imaginative persons? No, I don’t think we should do that. We are all different and that’s something we should take as much advantage of as possible. There are people that love documentation, accuracy and that manages, well even enjoy, repetitive tasks and possesses the ability to keep the same focus and commitment the first time they run a test cases as the fiftieth time. Both personalities are worth a lot so why not use them both.

Just think of Thorkil Sonne and his “Testspecialisterne” (test consultants diagnosed with autism). Here it just doesn’t work with exploratory testing. So, don’t they do a great job then? Sure they do! In the right situation, with suitable tasks, they do hundred times better work than most of us should have done. They are needed. But everyone can’t be like them, then a lot of test scenarios would be missed, where exploratory testing might be the only way to find them. One part of testing is about predicting situations and then imagination and exploratory mindset is very valuable. Without that our tests would be limited to requirements and documentation and then we probably would miss serious bugs and issues.

No, both sides are needed! Stop fighting and do something really good together!

 

” All those easily charmed project managers who try all new cool methods and tend to forget everything they ever learnt in school or in previous projects. All scrum fan boys who read the agile manifest saying that no one ever more needs to document or follow a boring process! All administration nerds that documents for months and months in their  waterfall projects with all the dead fish floating down the waterfall with them and all those theoretical brain heads that memorized all the answers to the ISTQB-certification. And still no one has a clue.”

From “The Supertester – A Slightly True Story” by Linda & Anna Hoff

The Supertester on video from EuroSTAR 2010

Enjoy!

http://www.eurostarconferences.com/content/supertesters.aspx

It’s not easy to know when it is a bug or not

Fitnesse

Test automation has been a grey area for quite some time. I did not think it was fun nor saw the real benefits. Today I have to revalue those thoughts. For about a year now I have been working with the test automation framework Fitnesse. This is my evaluation:

What is Fitnesse?

Fitnesse is, as mentioned earlier, a test automation framework. It consists of two parts: wiki pages and fixture code. As far as I know the fixture code is in Java only. We have only used a small part of the framework. Fitnesse is far more complex and versatile.

As my speciality lies in test and not programming, I had to get a lot of help from the developers so write the fixture code. Working close to the developers like this had both its benefits and drawbacks. At the same time as the developers got a good insight to my tests and way of thinking, it took a lot of time to produce the fixture code as the tasks were not always of the highest priority for them. If you want to get the most out of Fitnesse, the tester should be able to write decent Java code on their own.

The wiki pages were easy to write and manage. Well, except for the symbolic links. Though when I got them in place they worked well and were most useful. We used symbolic links to create test sets.

We used the framework to automate most of our test cases. We only left out the usability, performance and gui test cases as those were used by testers who did not have access to Fitnesse.

I believe that Fitness could be used to document a most test cases. Not only those that are automated. Let’s say that you write 10 test cases in Fitnesse. One test case per wiki page. 7 of them are suitable to automate, so you do that. To let the framework know that it is a wiki page containing an automated test case, you change its property to “Test”. Now when you run your automated tests, the framework will ignore all pages that have not had the property changed to “Test” and only run those that have. By this we have achieved that you can keep all automated and none automated test cases in the same place giving you a great overview of the coverage.

I only thought of this late in the project and really would have liked to try it out more. However all unfinished automated test cases have had the “Normal” property for quite some time so it should work just fine.

What is the key benefit I’m reaching for? Well, I believe that many projects mix automation with the more common “manual” testing (and they should) struggle with having multiple tools. You have some test cases in an automation tool and some in QC (or other similar tool). That does not give you any clear overview, does it? That is why I became so curious to whether Fitness could solve this or not.

Yes, I do see drawbacks too. It is not suitable in any way to store test results from “manual” testing I Fitnesse. So you still need a tool for that. Also I cannot promise that moving from one “manual” test case to another will be all that smooth.

Bottom line is that I liked Fitnesse as test automation framework and really would like to learn more about its possibilities. And perhaps explore a further usage to support other test approaches.

Read more and download Fitnesse at http://fitnesse.org/

Agile vs Waterfall

Is agile better than waterfall? Or is waterfall better than agile?

Well, it depends!

It depends on your organisation, your staff, your product, your previous methods and processes. If you are happy with your waterfall projects today, why change? If you already are efficient and have high quality, why change? Don’t try to squeeze Scrum into your organization just because you think it is cool and the only way of having fun at the same time as you are really efficient.

And before you dismiss Scrum and Agile be sure you really tried the true Scrum/agile. The Supertester has heard people say things like “We have adopted Scrum to our organisation by taking parts of Scrum. But Scrum is really frustrating and it doesn’t work for us testers.” How can this person know that Scrum doesn’t work when he/she haven’t tried Scrum the way it should be?!

There are pros and cons with both agile and waterfall. Please be open minded and try to see the whole picture!

The supertester couldn’t agree more:

Lisa Crispin on YouTube, Agile vs Waterfall