Developer vs Tester
Is it a battle? 🥵
“Developers” and “Testers” are playing most important and responsible roles in a software project. When it comes to their job roles, testers and developers often have different thoughts.
Before going to the topic quickly look into the following example, which is quite popular in social media…👇
What is “Mindset”? 🤔
A mindset is an individual’s assumption and preferred methods for decision making and problem solving. In simple terms, someone’s thoughts which guides to handle a situation, how he or she solves what is happening.
When it comes to a software project, each developer or tester may have their own way of thinking, it will different from one person to another. Specially the way of thinking and approaching to the problem also differs with the experience.
Normally we can hear following things while we are working in software project and totally it’s a common situation!
Developer’s Mindset 👨🏻‍💻
Developers are responsible for creating or developing the system or project. Based on the requirements communicated by the business analyst, they code the features and build the system. So developer’s ultimate goal is to come up a proper solution and meet the end user’s requirement. While developing the system, developers have a mindset of creating something new.
developer always curious about the problem, that’s why alway they are thinking “What do I need to build?” , “how should I do it?”, “Are there any other possible better ways?” This curiosity helps them to the right path and mostly it will helps to develop a quality product.
Obviously when developing, developers are finding a method or a solution to solve a problem. After analyzing the problem domain, they may find out many possible ways to solve a specific problem. After examine them and identifying the pros and cons of each solution, they must figure out the best solution for the problem.
A positive attitude is one of the key qualities of a great software developer, whether the specific component is a critical one or not, if you are starting it in a positive vibe, you may finish it successfully.
Developer should be having a clear understanding about the system, not only the specific component or unit which is assigned. It’s very important to knowing all the areas which can affect by own development.
Technical skills are really important and it will improve with the experience, passion to learn new technologies, tools and techniques will also enhance the technical skills.
If you are working in IT field, almost all the time you have to adapt to the new technology stacks. Being an adaptive person will help you to survive in the industry.
Communication is one of the key feature in a team work, hence whatever the role you may play in a team, should improve the communication skills. When it comes to developer’s point of view, need to know what questions to ask when you don’t understand or need to double-check. Also should be able to share the ideas and suggestions among the team.
Tester’s Mindset 👩🏻‍💻
Testers have a different mindset than developers, they analyze the developed system and look for any defects that deviate the system from the actual requirement.
Tester must have a critical eye, always testers should in a manner using or involving careful judgment about the good and bad parts of the developments.
Attention to detail is the ability to efficiently allocate resources to achieve thoroughness and accuracy when accomplishing tasks, no matter how small or large. Testers are the responsible party about the quality and accuracy of the system or product, hence they should be attention to detail.
As discussed before, communication skills are really matters when it comes to team playing. In a testers point of view, a tester should be proficient with both verbal and written communication skills. A tester must be able to identifying the root course of the problem and reporting defects properly, also should be able to explain the scenarios clearly to the relevant parties.
Tester should be able to prioritize the test cases and features that are to be tested. A software tester must be able to interpret, organize and prioritize testing activities and testing goals should achieve without compromising the quality.
Professional pessimism is one of the key feature of a tester. Pessimism is the belief that bad things are going to happen, knowing this fact a tester should figure out the possible ways to break the system. This quality may improve with the experience and it helps a lot for the betterment of the product.
Testing techniques, tools and technologies are improving day by day, as a tester it is really important to enhance the technical skills and continuous learning is the best solution for it.
Developers sometimes may have a narrow vision, but a tester should have a broad vision. Tester should look-up the overall system from customer’s or user’s viewpoints. Also a tester should know the whole system with the integrations and interactions with each modules.
Of course it’s not a battle… 🤜🏻🤛🏻
However developers and testers have different mindsets, but both the parties have to work together and achieve a common goal. Both developers and testers should understand each other’s mindsets.
Specially when criticizing, a testers should choose the correct time and place to go ahead and should be able to give a chance to the developer to explain, also should be able to listen carefully and try to get the point.
If you are a tester, your criticism should be aimed at the situation, not at the person you are talking to, otherwise the developer will get defensive and a constructive dialogue would be impossible. Good communications skills may help both sides to coexist peacefully and finally work as one team with one mission.