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

The year in valuable conversations: recapping 2023 a1qa’s roundtables for IT executives 
8 December 2023,
by a1qa
3 min read
The year in valuable conversations: recapping 2023 a1qa’s roundtables for IT executives 
From dissecting novel industry trends to navigating effective ways of enhancing software quality — let’s recall all a1qa’s roundtables. Join us!
Big data testing
Cybersecurity testing
Functional testing
General
Interviews
Performance testing
QA trends
Quality assurance
Test automation
Usability testing
Web app testing
6 top reasons why business should invest in software quality
9 November 2023,
by a1qa
4 min read
6 top reasons why business should invest in software quality
We congratulate you on the World Quality Day with the article by Alina Karachun, Account director at a1qa, having 10+ years of QA expertise. Delve into it to explore the reasons why businesses should prioritize software quality.
Cybersecurity testing
Functional testing
General
Interviews
Performance testing
Quality assurance
alina
25 July 2023,
by a1qa
4 min read
Interview with Alina Karachun, Account director at a1qa: unearthing the power of a true IT leader
Read the interview with Alina Karachun, Account director at a1qa, about the importance of creativity and feedback for executives and their teams, what is ethical leadership, and many more.
Interviews
Quality assurance
debated technologies
30 May 2023,
by a1qa
3 min read
a1qa tech voice: Managing director at a1qa, North America, discusses pros and cons of much-debated technologies
Nadya Knysh, Managing director at a1qa, North America, puts a spotlight on 6 current technologies, discussing their positives and negatives.
General
Interviews
Test automation
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

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.