Tips On How To Become Better Software Quality Engineer

By Amani Badwan

Quality is not trivial or insignificant. In-fact quality check is the safeguard that prevents or minimize the risk of product failure after release to customer. It is always achieved by smart and carefully planned efforts.

Software Products are built to fulfill customer needs, automate their work, save their time and efforts. There are a lot of products and companies in the market; it is the Quality that makes a product stands out and outshine its competitors.

My name is Amani Badwan, I work for Sky Software as Software Quality Lead. In Sky Software company we operate under Agile environment which is characterized by flexibility, collaboration, iterative progress and swift response to changes. During my tenure in Sky Software I learned that achieving high quality translates to success. I also learned how to clamp up the ladder step by step.

I am writing this blog to encourage you to be a successful Quality Engineer and provide tips on how to be better at your job:

The Secret of Better Quality is the Good Analysis:

“Quality is never an accident. It is always the result of intelligent effort.”

Quality is not about execution only, the more you know about the product requirements the better quality will be achieved. Understand the requirement, list your questions, remove the ambiguity, plan, set the expectations, and then execute.

Patience:

“Accept the fact that sometimes things must unfold in their own time.”

During the test process, you will have many questions, and deal with many people. In addition, problems will happen, and you have to investigate to decide on the correct behavior. Therefore, never give up, and put the best effort.

Continuous Learning:

“The more you know, the more realize that you don’t know.”

In the Quality, let me split the knowledge as:

  • Business domain knowledge: “Testing is context dependent” this is one of the testing principles. knowing the context means knowing your customer and their needs. This is achieved by reading, learning more and more about the customer business model; to build, enhance and get the better quality.
  • Testing concepts and tools knowledge: Time and resources are crucial factors during testing (efficiency and effectiveness). Knowing testing concepts (levels, types, techniques, principles, KPIs, risk management, configuration management, testing tools, reporting and tracking tools); will help you to be organized, confident, set your priorities, focus on the target which achieve better quality using minimum time and resources.
  • Practice: You will not learn until you try it yourself.
Honesty and Responsibility:

“Take chances, make mistakes. That’s how you grow.”

People always do mistakes, and you will never learn without making mistakes. Own your mistakes and learn from them. Do not be afraid to ask questions, and learn from other people’s mistakes, build your experience, focus, and do not repeat same mistakes.

Collaboration and Maintaining Good Relationship:

“We are one team, and the goal is the customer satisfaction.”

Remember that the goal is to achieve customer satisfaction, and this will never happen without collaboration with all team members (developers, QAs, Leaders, and Stakeholders). Be professional and share your ideas with respect to other colleagues’ ideas.

You are not only tester, your part of the team; help the team whenever you can.

Good Listening Skills:

“Listening creates a feeling of respect, connection and goodwill in personal and professional relationships.”

Good listing means taking notes to understand the requirements, and do not interrupt others while speaking.

Triage the bugs before reporting them. When reporting bugs, provide detailed reproducible steps, expected and actual results, environment, visual proof (videos, screenshots), and logs.

Critical Thinking:

“Critical thinking requires us to use our imagination, seeing things from perspectives other than our own and envisioning the likely consequences of our position.”

Identify potential risks and vulnerabilities in the software. This can be done by putting yourself in the customer shoe and taking time to test independently without bias.

Other important point is attention to details, try to test the system in extreme cases and do not assume that the customer will not do this or that.

Thinking out of the box. Be creative:

“Creativity is seeing what others see and thinking what no one else ever thought.”

Always read, do not accept things just because it has been this way before, and provide your ideas to enhance the systems, do not be afraid of your ideas being rejected.

Adaptively and Flexibility:

“Stay committed to your decisions, but stay flexible in your approach.”

Do not accept unreasonable explanations, and do not expect that everything will be done in the same moment. We are part of the development, and during development many changes may happen, and many discussions will happen. Remember it is all about the customer. Customer satisfactions is always the goal.

Initiative:

“Do the right thing, without being told”

Do not wait for others to do something, be the first one and share with the others. Believe in yourself and always work to enhance your experience.

Remember:

– You are not the one who only find the bugs and mistakes; you are part of solving them too, so, be precise and accurate.

– Customer is always right.

– Accessibility, Usability, Scalability, Reliability, and Security are the key requirements of any success project.

– Quality and Professionally are not options, they are necessities. So be organized, prioritize, do not wait until last moment, and make everything clear without ambiguity.