In this article, we learn about the Role of Mutual Comprehension in Software Testing for delivering Quality Software.
In this busy world, we do not have much time to speak with each other. Today’s article is all about that.
Just imagine how it would be if a developer does not know anything about software testing and the tester does not have even a little knowledge on software development.
In these instances we cannot expect quality software to be released either to the market or to the customers.
Table of Contents:
Mutual Comprehension in Testing
Until and unless the developer does not know how the software or application which he or she has developed is tested or used from the tester or customer’s perspective, he or she cannot code or develop a good software.
Similarly, the tester also cannot test the software by covering all the possible scenarios in a better way to make it relatively bug-free until and unless he or she does not know how the software or application has been coded or developed.
Recommended read => The Difference in Perspective of “Testers” and “Developers”
Hence, this is where Mutual Comprehension comes into the picture and it indeed plays a vital role in delivering quality software to the market and the customers.
What is Mutual Comprehension
The developer should also have some knowledge of testing i.e. how software or applications are going to be tested after the development, and what are the scenarios that are going to be considered for testing, how the customer expects a software or application to be i.e. customer expectations, etc.
If a developer clearly understands these points then there is no doubt that he or she can develop a better and better quality software or application.
Likewise, it is also the responsibility of a tester to know, how a software has been developed, its architecture, flow, etc., at least to a certain extent.
If a tester is aware of these points then for sure he or she can test software or application from the end-user perspective and can contribute in a significant way for delivering a relatively bug-free software or application to the end-user.
This understanding between the developer and the tester is known as Mutual Comprehension in Testing.
Given below are a few pictorial representations which help us to understand Mutual Comprehension in a better way.
Figure 1: Role of Software Development and Software Testing in developing a Quality Software or Application
The above diagram depicts how software development and software testing are involved in developing and testing a quality software or application.
Here it is assumed that both developers and testers have a very clear and good understanding of the requirements. Hence, the requirements are not included in this diagram.
Figure 2: Before Mutual Comprehension when a developer and tester only knows their area of work
The above diagram depicts that there is no Mutual Comprehension. Here the developer and tester are only aware of their area of work in developing and testing a software or application.
Figure 3: After Mutual Comprehension between a Developer and Tester which leads to the development of a Quality Software or Application
The above diagram clearly depicts the results after Mutual Comprehension or when there is a Mutual Comprehension between the developer and a tester.
It also shows how it leads to the development of quality software or application. Upon observing Figure 2 and Figure 3 clearly, one will come to know the difference between before and after Mutual Comprehension
In simple terms, Mutual Comprehension in Testing is nothing but getting to know about each other’s work or understanding what the other person is doing, or having a very good understanding of the other person’s work.
Examples of Mutual Comprehension
Mutual Comprehension logic can be applied to real-life scenarios as well. And there wouldn’t be any problem at all if Mutual Comprehension exists at all places.
Also given below are a few instances regarding the same.
For Example
- With a very good mutual comprehension, between a husband and wife, they can lead a better life.
- With very good mutual comprehension, a team leader and the team members can form a better team and perform much better.
- With very good mutual comprehension, the captain and team members can play a better game and win the game as a team.
Likewise, the list goes on and we can relate many more examples to the concept of Mutual Comprehension.
Advantages of Mutual Comprehension
There are several Advantages or Benefits of having “Mutual Comprehension” in software development and testing for the delivery of Quality Software.
Given below are a few among them:
#1) With Mutual Comprehension both the developer and tester will have a common and clear understanding of the project goals and they will get to know what needs to be delivered or achieved.
#2) Mutual Comprehension will also give an opportunity for both the developers and testers to know each other’s work.
#3) It gives an additional learning opportunity for both the developers and testers apart from what they know already.
#4) Even if they come across any development or testing chaos while they are working, they can easily resolve among themselves without many dependencies.
#5) There will be fewer or no chances of making mistakes.
#6) With Mutual Comprehension a lot of rework can be avoided.
#7) It gives confidence to the developer and tester for developing or testing software.
#8) With Mutual Comprehension both the development and testing team can develop a very good rapport. This, in turn, will help to deliver quality software.
#9) Mutual Comprehension helps both the developer and tester to understand the system in a better way.
#10) For Example, if a business analyst or architect asks a tester at some phase of development, do you know the architecture or technology of this software or application that is going to be developed?
Only if a tester is mutually comprehended he or she will be able to answer, otherwise, they cannot.
Similarly, if the developer has been asked a question, does he have any idea of the scenarios that the tester is going to test or cover for this application?
In the same way, only if a developer is mutually comprehended will he or she be able to answer, otherwise, they cannot. If the answer then it’s well and good.
And if they are unable to answer then they may get into an embarrassing moment and the person who has asked the question may think that, without knowing these basic things how either a developer or the tester is going to develop or test the software or an application.
Though this statement looks simple, it has a great meaning involved in it and this can be avoided only by mutual comprehension.
Disadvantages of Mutual Comprehension
There are no disadvantages at all.
I don’t see any disadvantages with Mutual Comprehension, rather it has a list of benefits only.
Conclusion
Hope you enjoyed this informative article on Mutual Comprehension in Software Development and Testing.
Both the developer and the tester play an equally important role in delivering quality software and in fact it’s their responsibility as well and this would be possible only when they have mutual comprehension between them.
Have you come across scenarios where Mutual Comprehension has worked out wonders in your testing life? We would be happy to hear from you. Feel free to express your thoughts in the comments section below.
Hi,
My question is that, why did you use the word Mutual Comprehension?It can be Mutual Cooperation, Mutual Understanding or any other word as well. Please elaborate.
Dear Sir, It is a good effort to set-up a level-playing platform for a developer and Tester by suggesting Mutual comprehension. However,concern is that how a developer has been ignorant of Testing principles and Test Life cycle process which clearly establishes test objectives, audience and purposes. Unless this aspect is covered, it will be difficult to satisfy Customer Requirements It must be imbibed that Tester is an in-house customer with methodical process.Hence the key aspect is that a Developer must be fully comprehensive of entire Test Life Cycle and vocobulary so that his development meets the requirements perfectly. Since Developer is not aware of a Typical test process, he assumes and presumes that work of tester is a simple, tension free and they do not exert very much.
On the otherhand, Tester must be agile, versatile and look beyond the requirements to identify possible scenarios and apply creativity and must not be rigid. He needs to understand customer principles as well as fundamentals of Data representation, Technology Constraint, Common programming logic and common programming errors and a thorough Business requirements understand and must be in learning mode. When these aspects are understood, quality of observation will be very high and defects will be high. Now the key question is that there is no need for Mutual comprehension but a thorough understanding by Development team to verify their code since they need test every LOC which goes into production and they must not be error in it. Developer is creator, he needs to be more knowledgeable technology wise and Tester need to be more knowledgeable Business-wise, Test wise with an intention to break the system
Very good article with indeed ideas for better work and cooperation
Very good ARTICLE for those guys of developers in my company.
AS a tester , I am very agree with the author.
But How to share this article to WeChat or sharepoint?