Tinah Peters is a Software Test Engineer at Patricia Technologies Limited. She holds a BSc degree in Business Information Systems from the University of East London and a MSc in Project Planning and Management from the University of Bradford.
Tinah started her tech career with Cyberspace Network Limited as part of the technical product support team that pioneered and contributed to the distribution of retail 4G LTE network in 2016.
Her spark for product quality ignited which led her to join ALAT, Nigeria’s First Digital Bank. During her time at ALAT, Tinah’s software testing career emerged as a Manual Software Tester and she contributed immensely to the QA processes through the creation of test plans and test cases, which also helped increase user experience.
The success achieved with ALAT propelled her to up skill by undertaking a certification, in both Manual Testing and Test Automation.
Tinah later joined Enlumi Data, a SaaS company that produces an array of solutions for businesses to drive quality efforts across the software development lifecycle. While working at Enlumi, the team created a platform called “Lumi Business” to empower SMEs with variant tools like Inventory management, Loyalty Management, Business Analytics and a lot more to aid the growth of their business.
Over the course of her career, Tinah Peters have developed competencies in the use of Java language, automation tools like Selenium, Postman, K6, Testrail, and bug reporting tools like Jira, Notion, and Trello while driving product quality improvement using agile testing practices, {SDLC}.
She played an integral role in designing software testing framework and setting up QA standards and processes to drive product quality improvement.
At Patricia Technologies Limited, Tinah collaborates with the software team to execute automation script and manual tests on Cryptocurrency applications.
She plays a strategic role in the development of test plans, test cases, maintaining QA standard and the review of PRD documents from the product team to ensure 100% test coverage before the deployment of applications to users.
In this interview Tinah Peters share her experience as software tester; technical expertise, and experience working with tech startups and strong leadership abilities which have enabled her to contribute to the development of world class products within the tech ecosystem in Nigeria and Africa.
Can you tell us how you got into software testing?
Tinah Peters: I have always been a tech enthusiast, my experience been part of the technical product support team exposed me to understanding the importance of software, its phases and how this customer’s use the finished product. On the other hand, supporting customers on issues regarding product sparked a flare and my curiosity about software quality and how it impacts user’s experience. Thus, the rest is history.
Why do we need software testing?
Tinah Peters: Software Testing is imperative in every organization; the need cannot be overemphasized . Early software testing identifies bugs found within a line of code which can pose to be a threat.
We understand that the quality of product must be a contributed effort from all team member in line with the QA & ISO standard but the need for an end-to-end isolated test is not negotiable for second validation before any release.
Hence, the need for a software tester. However, the products under test must satisfy the requirements which is customer centric before a final documentation can be issued out for deployment.
What are the key challenges that software testers commonly face, and how do you overcome them?
Tinah Peters: In the course of my work, I have found the following as key challenges software testers face. First, inadequate knowledge of what is expected of the product and what it intends to solve: It is an ideal practice to incorporate the software tester from the start of the project especially when conversations and ideas are shared in the initial stage. This help the tester to be cognizant of what the product intends to solve and what the expected outcome should be.
Secondly, time constraint for Testing can also be a key challenge: Realistically, development sometimes takes a substantial time and leaves the tester with very short time to test.
Sometimes this is inevitable however, the solution here is to break task into manageable and feasible timeframe, set deadlines according to priority. Overall, a self-imposed deadline is usually the best approach and would just do the Job.
Thirdly, insufficient or missing information on the product requirement: Challenges like this commonly happens when conversations or scope discussed with clients/stakeholders regarding the project is more verbal and less written which down the line affects every team member working on their deliverables. So it is advisable to have all conversations documented in order to avoid missing out important point and aspect of the stakeholders expectations.
Fourthly, Lack of communication which impedes software testing. So, it is important that communication is taken seriously and wholeheartedly to avoid any communication gaps that will delay the deliverable of the projects.
The few solutions I believe software testers can adopt include but not limited to; Communication should be consistent; tester should not be afraid of communicating their opinions and observation.
Tester and Developer must build and maintain a communication lifestyle. Defects identified should be concise and clear when communicating which means requirement must be thoughtful before sent out.
Also, collaboration tools should be helpful and easy to use, and incomplete or change of requirement should be communicated to all team members.
How has the role of software testing evolved with the shift towards agile and DevOps methodologies?
Tinah Peters: Shift-left testing approach simply just encourages testing application early, right from the start of the project. As testers integrate or incorporate testing activities right from the start, it allows organization address defects, pro-offer valuable insight that sharpens the development process yielding to improved product quality and faster development.
Also, fusing early testing activities aids the software development team to invest effort on more proactive approach to providing quality on their code, speed up testing while hunting bugs as early as possible in the code. This process fosters confidence in the product and faster deployment.
Can you share a success story where effective testing significantly contributed to the success of a project?
Tinah Peters: In my present position, I recall detecting a UI flow defect while carrying out an end-to-end automation testing on our web application for withdrawals. I realized that the UI does not communicate the breakdown of the fees charged and this could be a potential problem for our users. So, I reached out to the product manager to inform him of the issue and suggested a possible flow that could work to review for adoption.
Thereafter, the product manager quickly communicated the initiative to the necessary stakeholders, as well as the product designer for a new design flow. This aided the backend engineer to make the necessary changes to the code base.
After a successful change was made then I carried out a regression test to re-validate the new adjustment before deployment. Having spotted that defect was appreciated which of course contributed to a successful success story for that release.
What are some common misconceptions about software testing, and how would you address them?
Tinah Peters: There are quite a few misconceptions, but let’s look at just a few:
Quality checks are for Tester only: The misconceptions that testers are overseers of all the application, code and everything about technology makes it more surprising. Just the way we ensure that there are less bugs in the application, we also believe that the developers would not develop terrible codebase that would cause the project to fail.
We do not dispute the need for testers to gate keep the application, but it is also every one’s responsibility to ensure that quality is applicable to everyone involved in the project. The earlier people understand that tester ensure that application is testable, and quality is maintained; the better high quality product release can be achieved.
Tester should be involved in only post development: This is another misunderstanding about software testing which if still practiced in organization can be a disaster. Involving QA at a later stage simply mean that the tester would heavily rely on what is communicated by the developer that means that the tester is conditioned to what he or she believes was built by the developer.
This kind of test can be a big risk to the project, because the time given to tester are usually scrunched. Tester’s need to have equal time as developers to test as one way forward to achieving a good and better-quality result.
Anyone can Test: This is one the biggest myth about software testing. As we know that anyone can become anything they want to be e.g. From a designer to a CEO in a company so it gives that impression that testing can be done by anyone by just clicking around.
Whereas the truth lies behind the ability to handle any emotional involvement when issues are classified as ‘working as expected’ because codes dictate behavior to a very large extent. Like James Bach would say ‘Pretty good testing is easy to do (guess that is partly why some people like to say ‘testing is dead’ — they think testing isn’t needed as a special focus because they note that anyone can find at least some bugs some of the time). Meanwhile, excellent testing is quite hard to do.’
In simple terms, not everyone can test, to be a good tester, you would need a specific kind of mindset to excel.
How do you approach creating test plans and strategies for different types of software projects?
Tinah Peters: First and Foremost, a well-designed test plan provides transparency of the testing activities which is shared to the associated stakeholders.
This document is expected to be dynamic and embrace changes according to the progression in projects which often always stays current.
There is no one size fit when creating test plans, but it is important to understand what the project intends to achieve to be able to craft a structured test plan. My advice would be to analyze the product requirement document provided by the product team to draft a comprehensive test pan.
Product Analysis: This is the point where other team member reviews the consolidated document and ask questions for clarity.
Design Test Strategies: This is where a strategy is crafted out which in view focuses on the project objectives and how these can be achieved. With a mindset of referencing the testing activities which is more like a “plan” to executing the test.
Defining Objectives: The objective must be concise and clear so that stakeholders understand what exactly would be tested and its expectation. This phase defines the goals and expected results of test execution. Since all testing intends to identify as many defects as possible, listing out the following such as performance, functionality will establish the exit criteria for the project.
Also, the scope of test, methodology, assumption & risk, mitigation plan, roles and scheduling should establish successful test deliverable.
In the era of continuous integration and continuous delivery, how do you ensure efficient and reliable test automation?
Tinah Peters: In this era, the usual practice is ensuring consistent integration of written code to the repository created in the cloud. The continuous integration establishes processes and encourages testers to commit scripts/code frequently.
The more frequent automated scripts are deployed to the main branch for production use after there is an assertion that development & staging works as expected, the more the process demonstrates the need for continuous delivery.
Notwithstanding, further description considered for ensuring that continuous delivery is achieved are listed below though not limited to:
Integrating CI/CD: The usual practice for integrating continuous delivery which allows deployment at every change that passes your test case automatically establishes a high possible chance of using an advance level of test automation. While the Continuous integration implies a process whereby software developers are encouraged to always integrate every change made.
Ensure that each environment is bug free: Developing and maintaining script for each environment reduces the chances of having so much bugs which then increases the chances of improved quality software. Establishing this kind of development using flexible scripts accommodates continuous regression which guarantees efficient and reliable test.
Be Strategic in identifying and planning the preferred test case: This simply just encourages a strategy that helps in identifying what, how and when to test and who is testing the test cases.
The agile process has kicked against delays that may be encountered and motivated steps made toward automated test to be broken down into smaller component for re-usability for multiple test cases.
In summary, software testers need to develop excellent test scripts for their tests to stand any chance of an improved quality software.
What role does collaboration play between developers and testers in ensuring a high-quality product?
Tinah Peters: Collaboration between developers and tester cannot be under-estimated. The need for collaboration is an assurance to producing a high –quality product. When testers and developers work together seamlessly, there is an increased chance of building a team spirit, same goal drive, mutual understanding which leads to a more efficient, improved software and high-quality product.
I must say open communication and collaboration does the Job.
How do you prioritize testing efforts when faced with time constraints in a project?
Tinah Peters: This is an interesting question. I will attempt it this way: The simple way to do this is to implore self-discipline. You must understand the requirements and what is expected of the product. Let’s assume there are no test cases, make a list of the key features or critical functionalities.
Also, the ability to assess risk and dependencies that may likely be encountered.
You must embed time management skills into the process as this is key when prioritizing task based on project or feature.
Can you discuss the impact of emerging technologies, such as AI and machine learning, on software testing practices?
Tinah Peters: The introduction of emerging technologies such as AI has undeniable impact in revolutionizing how software applications are tested. Nonetheless, I would say that AI has aided trouble shooting and made working process more seamless which saves time.
However, players in this industry cannot take out the part that the challenges surrounding the use of AI poses a threat and security concern on the product under test. As the AI-driven testing heavily relies on test data which may need to be critiqued for accurate testing since the information is retrieved from the public. Some questions are still presently asked does the advantage outweigh the disadvantage.
How do you stay updated on the latest trends and advancements in the field of software testing?
Tinah Peters: To stay abreast on latest trends, there is a need to keep an open mindset that is ready to embrace change. Also, you should join onsite and off-site community to learn more trending tools. You can’t play down the need to take up certifications online and explore new courses.
Read up blogs, newsletter and articles in the field, and experiment new techniques and tools.
Can you share insights into balancing between manual testing and test automation in a testing process?
Tinah Peters: I would say finding the right balance between manual testing and test automation can be sometimes difficult because there are factors surrounding these, which can be the following: complexity of the project, scope, requirement, quality expectation, number of skilled testers, and time of delivery.
Nevertheless, it is more appropriate to start a manual test to understand the system and what the expected outcome would be. Once that has been established, then test cases can be crafted out based on your understanding which then proceeds to prioritizing the test cases.
It is not a rocket-science that automated test can only be successful when there is good understanding of the expectation via exploratory. Hence the need to strike a balance.
Guidelines are set aside to ensuring this expectation are met. Automation can take place once testers are able to establish stable and critical functionality of the system. In all of these, manual testing cannot be eradicated as it somehow complements in the aspect of features that are dynamic, difficult and subject to automation.
What strategies do you employ for testing in different environments, such as web, mobile, and desktop applications?
Tinah Peters: My usual approach is applying functional and non-functional test strategy when testing different environments and applications such as web, mobile and desktop.
Not forgetting the need for automation using tools such as BrowserStack, Appium etc, to execute test on different devices and browsers. Furthermore, the need to mention the relevance of compatibility testing cannot be underrated when employing strategies for testing.
According to the ISO 90001 standard, quality should exceed expectation so that users are satisfied.
Can you discuss the role of exploratory testing and its significance in ensuring comprehensive test coverage?
Tinah Peters: The role of exploratory testing is not far-fetched as this kind of testing allows testers mimic the real-world usage, actions that would be carried out by users and the ability to find bugs in the application. The use of exploratory test encourages tester to be more tactful leaving tester to be more intuitive.
Exploratory can be used for different purposes for achieving a large test coverage in the following phases which are: requirement phase, development phase and finally the post release & maintenance phase. Meanwhile exploratory test is still performed, to ensure that it canopies the parts that the script was not able to cover.
In a nutshell, even if the application under test is automated using a script, the undeniable truth is that exploratory compliments test scripts to uncover hidden defects that was not covered.
How do you handle regression testing, especially in complex software projects with frequent updates?
Tinah Peters: As we all know the importance of regression and why it is necessary when changes are made. However, it is also important to mention that the number of time codes are updated should be equal to the number of times the test should be carried out.
There is no one size fit all as to how regression should be carried out, but it is imperative to outline how you would want to prioritize the test based on critical functionalities, continuous defect feature, and end to end features.
Now there are few steps that can be followed to achieving an excellent regression test; prepare for manual and automated test; identify which changes or upgrades on existing modules of the application will impact its functionalities and use manual and automated test accordingly.
Can you share your perspective on the role of performance testing in delivering a seamless user experience?
Tinah Peters: Every organization must embrace performance testing to increase the readiness of the application yet to be released. Benchmarks are placed to ascertain what the agreeable thread user should be when sent to the server, the time duration the request is sent and the response returned is very crucial in determining the performance, if it is above or below the benchmark.
It is advisable that functional testing must have been conducted successfully before proceeding to performance test such as load and stress to understand the application capacity under stress and normal condition.
Also, it is safe that testers can perform a scalability test based on the number of user requests and observe the returned performance response.
What advice would you give to organizations aiming to establish a robust and effective software testing process?
Tinah Peters: My advice to organizations is that they should have a mindset that plans to succeed. Organizations need to be open to change and ready to embrace the change as things revolutionizes.
In addition, having a plan for software testing will save you some fortunes, time and product failure. You need to adopt a shift left approach to start testing early for every features too.
In your experience, how does a strong quality assurance culture contribute to overall project success?
Tinah Peters: Going by ISO: 9001 Standard, organizations should put in place effective processes for unbroken product time after time.
In other words, strong quality technique must be adopted amongst teams from the start of a project to build processes that ensure that the outcome of a product meets the expected requirement.
In all, quality culture promotes consistency and efficiency.
It has been nice speaking to you.
Tinah Peters: Thank you very much for all you do in promoting tech ecosystem in emerging markets.