A few weeks ago I had the chance to win at a tombola organized at SASQAG (Seattle Area Software Quality Assurance Group) an entry ticket for the PNSQC (Pacific Northwest Software Quality Conference).

With this ticket in my pocket, we decided (with my wife and kids) to have a trip to Portland, OR. I haven’t had time to visit Portland too much but I understood from my wife that there is no state taxes in Oregon :).

The conferences lasted two days (+ workshops that I did not attend) and was really interesting I must say.

Day 1:

The keynote was given by Julian Harty about the future of quality. The main idea is that software testing needs to focus much more on the users than on the functionality, testing needs to take into account more parameters than just a functionality.  

Following the keynote I went to a talk from Wayne Roseberry about software reliability. The reliability, he claims, can be achieved by good metrics and measure, development of tools to help improving the investigation in case of issue.  After this talk focused in process improvement I jumped to the testing track of the conference.

The test talk was an introduction to customer focused test design by Alan Page. The main takeaway of this talk, as already mentioned during the keynote, is that the focus in testing needs to shift to the customers. The testers should focus on the main scenarios from the customers and thus help increase the perception of quality. This could be done by increasing testers’ awareness on security, privacy, usability, reliability, performance, interoperability and globalization. Another tool to increase the coverage of customers’ scenarios is live testing or test in production.

This was actually the topic of the next talk I attended, presented by Keith Stobie. He went through a lot of technics to control and monitor test in production, from A/B testing to fault injection.

I then went to a talk by Jim Sartain about inspiring, enabling and driving quality improvement. As the title reveal, he focused on how to give the test teams the environment and the resources they need to make their job. Some technics he promoted were peer review, scrum and unit testing.

Finally, I went to a presentation about application security for QA – Pain or Gain, the emphasis was on modifying the perception about testing and giving some tips on how to make security testing.

Day 2:

Next morning was rainy and I was really tired because my 9 month old son teeth were piercing so I did not have much sleep. At least the first talk was really entertaining so all that did not really matter. The keynote topic was Value Sync, presented by Robert Sabourin. His presentation went through the logic of understanding and synchronizing the value between stakeholders and testers.

After the keynote, it was time for Michael Bolton talk. I was quite looking forward for this one actually. Topic was about standards and deviations. I felt a bit uncomfortable as the talk was really oriented against the drafts proposed for ISO 29119 (software testing). I mostly agree with his points but it did not deserve two hours of talk in my opinion.   

I then attended a presentation under the soft skills track: the ladder of unmanaged conflict by Jean Richardson. The presentation was about how to deal with conflict in your organization.

After that I went to a presentation about playback testing by Vijaya Upadya, a very interesting presentation about using application logs to reproduce bugs (in short the tests parameters are extracted from the logs and allows to reproduce issue found on customers side or during live production testing).

It was time for a talk by Marlena Compton about understanding the psyche of the software tester. I was a really entertaining talk but I did not really agree with the content. I think the presentation missed a very important point on the interaction between developers, testers and project managers. She analyzed the conflict from the tester point of view, without taking into accounts the context of these conflicts.

To finish the conference, I decided to listen to Bj Rollison about parameterized random test generation. This was an excellent talk, I really liked how he presented an intelligent framework to have a great test coverage with realistic random data.

Overall, these two days were really refreshing and introduced a lot of new ideas in my perception of software testing. It sounds like we are in the middle of a profound change in software testing and the great news is that the users trends to the top priority in the testers mind.

If you are interested about the topics presented at PNSQC, they share all the content of previous events. You can head to the past conferences part of their site and you should soon be able to read / watch the presentations yourself!

 

Since I moved to Zurich, two years ago, I sadly did not have the time to see most of my friends I have in Geneva. This post will hopefully explain you what I am doing in Zurich as an Engineer in Test at Microsoft. I know that even the people who know me well do not really understand what my role is and what testing is about.  Defining testing is not quite easy so let me start by quoting Wikipedia’s definition of software testing:

Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing also provides an objective, independent view of the software to allow the business to appreciate and understand the risks at implementation of the software. Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs.

To resume, I bring information about quality and objective view of the software I work on (the next generation of Office Communication ServerResponse Group Service). I own the testing of some feature of RGS for this feature I should always be able to answer the question: ‘Can we ship it?’.
To answer this question I have two main approaches:

  1. Develop automated test that will run scenario at a code level, this test being automated I can make sure that no regression would be added these feature and related area.
  2. Do some manual testing on complex scenarios representing the customers most important scenarios.

 

Finding ‘bugs’ effort is only the half of my work. The other half is dedicated at understanding the defects and drive to their resolution. To do so I am helped by developers (fixing the bug) and project managers (to give clear vision on how a feature should work in every details).

As the goal of this post is to be as clear as possible in won’t go further in my explanation :-)

I hope you know understand better what software testing is how I spent my time at work.