When I joined Therap, I already had a strong foundation in Java programming. At BRAC University, where I studied, all core programming courses were based on Java. After completing those courses, I continued improving my skills by working as a Teaching Assistant, where I helped others learn programming. I was also actively involved in competitive programming, which sharpened my coding logic and problem-solving skills.
So, while I was learning Therap’s product domain and workflows, I intentionally started brushing up my programming skills with the goal of contributing to test automation.
Getting Introduced to Test Automation
Soon after I joined a team, I got the opportunity to be part of Therap’s central test automation initiative. This was my first proper exposure to tools such as:
- Selenium WebDriver for browser automation
- TestNG for running test cases
- AssertJ for writing assertions
- Extent Reports for reporting and visualization
- Gradle as the build tool
- Bitbucket for version control and code review workflows
I raised pull requests, got feedback, and learned how a real development workflow functions. Even though the initiative didn’t continue for long, it gave me the confidence and foundational knowledge I needed to eventually design my own Java-based automation framework.
Learning Practical Technical Skills While Testing
Alongside automation, I worked on improving the technical side of manual testing too. For example:
- I learned to run JavaScript directly in the browser console to automate repetitive UI actions like checking multiple checkboxes.
- I used Developer Tools to tamper dropdown values and element states to test for unauthorized access or hidden data.
- I deepened my understanding of HTTP, sessions, cookies, caching, and the client-server model. This helped me understand what was happening behind the scenes whenever I tested a feature.
This approach helped me test more intelligently, rather than just clicking around the UI.
Adding Database Testing to My Workflow
I also started performing database testing. I analyzed:
- Which tables a module interacts with
- How data is inserted, updated, or deleted
- Which hidden fields are stored only in the database
This allowed me to catch issues that would have been missed through UI testing alone. As I brushed up my SQL skills, I could even spot problems just from query results — without opening the UI.
Understanding the database structure also helped me provide valuable feedback when DDL changes were proposed.
Learning Server-Side Behaviors and Logs
In some projects, I worked with file uploads and server-side processing. I also checked application logs to verify:
- Whether required events were logged
- Sensitive data was not logged
- Error traces appeared correctly when failures occurred
Because of this, I learned Linux commands—which helped me navigate servers confidently during testing.
Moving Into REST API Testing and Automation
Later, I had the opportunity to test REST APIs using Postman. I learned how to:
- Analyze request and response payloads
- Understand HTTP status codes and validation rules
- Work confidently with REST architecture and API standards
Then I used REST Assured to automate API test cases, eventually building my own automation structure to streamline API testing.
Working Full-Time on Automation with Playwright
At Therap Connect, I worked with a microservices-based architecture and was fully dedicated to test automation. This is when I was introduced to Playwright.
Since my role was focused entirely on automation, I had the chance to go deep and significantly improve my hands-on automation expertise.
Gaining Experience in Performance Testing
I also worked on performance testing of Therap’s static resources server. I used Locust, and although interpreting performance metrics was challenging at first, I learned a lot from the developers involved in the project.
I’m still improving in performance testing, but now I have the foundation and motivation to continue learning.
What I’m Learning Today
Currently, I am working on a team that is improving Therap’s architecture, especially the authentication module. This role has introduced me to concepts like:
- Passwordless authentication
- Rate limiting algorithms
- Security and architectural best practices
 
         How to Get Better at Testing: Lessons from My Journey
          
          How to Get Better at Testing: Lessons from My Journey