Blog

No unit tests could be created after coding. Interview with Raimond Sinivee

Raimond Sinivee says: «Context-driven-testing is my cup of tea…». But his area of interests is much wider than that. It covers broadly tools-based testing and test management as well.
8 April 2014
Interviews
The article by a1qa
a1qa

Raimond Sinivee says: «Context-driven-testing is my cup of tea…». But his area of interests is much wider than that. It covers broadly tools-based testing and test management as well. Today Raimond is council member of Estonian Testing Board and member of The Association for Software Testing. Raimond has been speaking on all of the Peers of Estonian Software Testers peer conference. He is one of the founding organizer and content owner of Nordic Testing Days.

Raimond Sinivee started his career in Estonian biggest mobile telecommunication company EMT AS as tester working from stored procedures to web UI application testing and creating tools for testing. Currently he implements mentioned testing concepts working for such big VoIP provider as Skype .
a1qa has the honor to ask Raimond some questions.

a1qaRaimond, you are adherent to Context driven testing, right? Sometime ago we interviewed James Bach who actually stood at the origins of this methodology. James suggests a program working well for one person in a given situation might prove inadequate or inappropriate for another person or context. Does Context driven testing proved its effectiveness for Skype which is really client oriented technology?

Raimond Sinivee (R.S): I value the principles of the Context-Driven-Testing and the first two principles are that the value of any practice depends on its context and there are good practices in context, but there are no best practices. This means what you’ve just said – that in web app testing there can be no silver bullet or a script that works in all situations. Context to me means all the aspects of the situation and taking into an account people, background, available resources and goals among other things. For example I avoid theoretical questions on interviews which ask what you would do. I haven’t seen a person who could give enough context to really explain all the aspects that would matter and I would not actually know how the person would behave. I can ask behavioral questions, because person can explain the context, because he/she has experienced it and that is specific example from what we can learn.

Skype has a lot of different teams working on different client applications. Skype is committed to platform diversity which means Skype makes clients also to Android, iOS, Mac OS X etc. The platform specifics are context to test teams and not all teams test exactly the same way. Similar teams share knowledge and tools, but every team uses their specific testing that matches their context. I work on Skype Plug-in for Outlook.com, OneDrive.com and Facebook.com and I use web based testing which is different from Skype desktop application testing in many ways like the tools we use and platforms we need to cover.
Context-Driven-Testing says that: “Only through judgment and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products” and I think that is great responsibility. I think this way of thinking attracts smart and thinking people and its honor to work with them.

Skype uses SCRUM for software development project management and I think Context-Driven-Testing matches the values of Agile very well.

People value these principles, reacting to situation and using Context-Driven-Testing makes it easy. I create test plans so that I could change them fast and they are not fragile to changes that I want to be open to. I use test ideas and objectives and don’t use detailed scripts for test planning. Some other team in Skype could use different kind of details in their test plans if it does match their context.

I think that Context-Driven-Testing gives the needed flexibility and makes people do smart decisions. The company does not need to state that they use Context-Driven-Testing, everybody can do that by themselves like I do it in the Skype, because not every team uses this definition or have to completely agree with that.

a1qa: Raimond, according to your vision “Testing is context driven learning process providing new, fast, relevant and trustworthy feedback to all stakeholders about the state of the software.” What is the role of testing tools in that process? I mean both debugging tools as well as complex systems supporting test management activities.

R.S.: First of all, I think that using debugger is sign of problems in coding process and I use that as rarely as possible. This shows to me that team is not using Test Driven Development or doing it wrong, because unit tests should give that information anyway. I do use it in for crash debugging to make my bug reports easier to understand and follow the coder way of approaching this kind of issues.

I haven’t used complex system for supporting test management activities, because by definition they are complicated and I want to make my life easier. I rather use lightweight and easy tools like readable documents tailored to the readers.

The role of testing tools is to speed up the feedback and help to check aspects which are humanly impossible or hard to achieve. I use tools for things that I’m not able to do or a tool could do it faster.
I use tools to collect information to make decision. For example, I test video calling application and use tools to make a lot of calls to measure different kind of resource usage. The tool does not return pass/fail answer, but it return numerical answer and I make a decision based also on the context. A value may be reasonable in one situation and not in other depending on the change or environment state. Harry Robison has good examples about it in his blog.

a1qa: Coming to automation testing let’s discuss famous Testing pyramid concept. How realistic it is to follow all the stages , if we do not begin developing a new product, but implement the automation in the current product that has already been released? How likely it is that API layer of the pyramid will go into the third one and become UI?

R.S.: This additionally depends on what are the plans with the application and where are the priorities in the company. Having no or low number of unit or API tests hints that the application would be hard to test on other levels than UI and that means it needs to be refactored. It becomes a trade-off of would refactoring add value or changes will not give much benefits, because for example we don’t plan to change the application and it’s in maintenance mode.

I don’t believe in creating unit tests after the fact of coding, because programmer would need to break the code to show that the test would find the issue if it would exist there. I have experienced that unit tests written after coding just conform to the code and are bringing very little value compared to the case when they would have been seen failing when writing them before coding.

I think that the testing pyramid shows the trade-offs and differences between different levels of testing and is guideline for refactoring or building an application and not for only testing teams to follow. It’s very likely that we can have only end to end UI tests if application is not testable from API level and no changes will be done to the system under test to increase testability.

a1qa: Raimond, since you are one of Nordic Testing Days conference organizers could tell us a few words about this event? What are the goals you are setting for this event? Who do you expect this year to be the key speakers? And finally, why should people attend?

The main aims are to educate people and motivate them to learn more about testing. Secondly, we want to raise the awareness of the testing discipline in the region and make it conscious career decision for people. Third, goals are to create network and make the bond between people stronger so they would share their experiences and it would be easier to communicate.

Our key speakers for this year are Matthew Heusser (USA) who is writer, blogger and vocal test professional, Anto Veldre (EST) from CERT, Jevgeni Kabanov (EST) from ZeroTurnaround and final keynote speaker will be announce in upcoming weeks.

People should attend, because we provide great learnings from people’s experiences and have practical tutorials, workshops and tracks.
Attendees have told us that they have really learned something practical and we are gaining popularity having more people every year creating better networking possibilities.

Reach Raimond Sinivee on Twitter.

More Posts

10 March 2020,
by a1qa
6 min read
Dedicated team model in QA: all you should know about it
Check on everything you should know about when to apply, how to run and pay for a dedicated team in QA.
Interviews
QA consulting
Quality assurance
30 September 2019,
by a1qa
4 min read
“Every team member is responsible for software quality”: interview with Head of QA at worldwide media resource
We continue talking about unsurpassed software quality. Consider how to make QA more efficient using shift-left and continuous testing.
Interviews
8 December 2017,
by a1qa
4 min read
a1qa: one-stop shop for first-rate QA services
Dmitry Tishchenko, Head of a1qa Marketing and Pre-Sales Department, answers the questions of The Technology Headlines. 
Interviews
Quality assurance
17 August 2017,
by a1qa
4 min read
From requirements specification to complex business analysis: interview with a1qa head of BA
Check how we at a1qa converge business knowledge with IT skills to deliver maximum value. 
Interviews
QA consulting
1 August 2017,
by a1qa
4 min read
Interview with head of a1qa test automation center of excellence
Dmitry Bogatko on how to manage the in-house Center of Excellence delivering value to the company's projects. 
Interviews
Test automation
19 August 2016,
by a1qa
4 min read
Interview with Adam Knight: Big Data exploratory testing
It is not so much to say that I find exploratory testing necessary. Rather I would say that I found it in my experience to be the most effective approach available to me in testing the business intelligence systems that I have.
Big data testing
Interviews
5 August 2016,
by a1qa
5 min read
Interview with Adam Knight: how much of a Sisyphean task is in software testing?
I’m a great believer in automation. I don’t believe that an agile approach to development is possible without some level of test automation. The use of such approaches does, however, need to be combined with an appreciation of the information that the automation provides you with.
Interviews
Test automation
20 July 2016,
by a1qa
4 min read
Good testing is about asking right questions: Intereview with Thanh Huynh
Software testing is not just to confirm things, it’s a process to explore, exercise the system to discover potential problems. You can achieve that by asking good questions to the system under test, yourself, your customers, your product owner, your manager, your colleagues, etc.
Interviews
20 June 2016,
by a1qa
5 min read
Interview with Lisa Crispin: whole-team approach to quality
To succeed with delivering valuable software over the long term, the whole team must take responsibility for quality, planning and executing testing activities. Our mindset has to shift from finding bugs after coding to preventing bugs from occurring in the first place.
Agile
Interviews

Get in touch

Please fill in the required field.
Email address seems invalid.
Please fill in the required field.
We use cookies on our website to improve its functionality and to enhance your user experience. We also use cookies for analytics. If you continue to browse this website, we will assume you agree that we can place cookies on your device. For more details, please read our Privacy and Cookies Policy.