<img alt="" src="https://secure.wauk1care.com/164394.png" style="display:none;">

Software Development Engineer in Test Jobs & Client Projects

Posted by Harry Williams on 21/10/2024
Find me on:

Tackling Client Projects with Confidence

Hello, I’m Harry! This is the second part of my blog on my experiences and lessons I have learnt on how to feel more settled when working on a new project. In the previous blog, I covered the steps I take to ensure that I’m on a good footing when I start on any new project.

In this blog, I will be going over some things that I have done not only at the start of my time with the client but later as well. It’s my hope that with these two blogs I’ll share with you how I grew more confident and lessons that I applied to create better tests more efficiently!

Hands on laptop keyboard

Blog Series Part 2: Tips for Building Confidence in New Projects

1. Use Your Fresh Perspective to Improve the System

Some systems may have been established years and years ago, and the people who have been working on the system for as long will be used to all the quirks of the system. However, as you have only just begun your time on the system, you will not be accustomed to these behaviours.

Your viewpoint at the start of your journey on the site is very similar to what a customer would be. Therefore, a lot of companies find value in any unexpected behaviours of the system, and asking a question about this is good, such as “I don’t quite understand this; could you explain to me why it works in this way?”

There are a variety of results that will come out of this, but there are two that are most likely to happen. The workings of the system may be explained to you so that it now makes sense to you; this again boosts your understanding and enables you to make better tests. However, it might be that that part of the system hasn’t been asked about before and that there are parts about the system that need a bit of tweaking.

Overall, checking your understanding is beneficial, as either way you will be making the system better, be it through the tests or the system itself. Communication is key for teamwork, and it will also help you feel more comfortable when working on your project.

2. Absorb Information and Stay Organised

One of my first pieces of advice from a client that I still use today is to be like a sponge and absorb everything you're told. By exploring the system and talking to the team, you will be getting a lot of useful information. However, unlike an elephant, we can forget, especially when we are given so much information in a very short space of time. Whilst clients will not expect you to remember everything you're told on day one, it still feels nice when we do. It also means you can avoid any awkwardness you might feel by asking the same question again.

One of the most surprising tools on your laptop is the notepad, which is great at writing down all the information you're given. This way you can refer to these notes if you forget anything, and you can keep looking them over throughout your time working on the project.

As well as any information you're given, I would also recommend writing yourself a task list so that if you’re given multiple big tasks in a short space of time, you will ensure that you don’t forget any of them. If you have some kind of daily or weekly meeting, you can also write down questions that you want to ask as well as any ideas that you want to suggest, such as test cases.

3. Research New Tools when Building from Scratch

If, on the other hand, you’re creating a test suite from scratch, you might be asked to use a new tool that you haven’t used before. In which case, as part of your initial exploration, I find it helpful to research the tool that you are about to use.

Most of these tools, e.g., Playwright, will have their own website or even GitHub page explaining everything that the tool can do. It's useful to look over these webpages, as it will once again give you a strong foundation to begin your testing.

Doing this exploration at the start of the project is the best time to do it because you will be able to discover as much as you can without time pressures or a heavy workload.

Of course, you should keep researching the tool that you’re using because it is very likely that new additions are being added to it all the time. Perhaps you’ve had to make a complicated subsystem that can now be replaced by a function that your tool has recently added to itself.

It will also add as a refresher, and you may notice new things that you missed previously because it wasn’t relevant to your work at that time. The exploration will also make you feel more confident working on the system, especially when you’re the one creating the test suite.

4. Being Supported by Your Mentor

At any point in these initial steps or those in the future, having someone with a lot of experience under their belt is helpful. For the team and myself, that was Danny Crone, nFocus' Technical Director. The team would have a daily meeting at the start of the day with him, to talk about what we had achieved the previous day, along with any problems or questions we might have. When we began the project, we had not started a project from scratch before and therefore needed his guidance when we hit problems.

As test creation progressed, before a test would be added to the pipeline, I would ask Danny to cast his more experienced tester’s eye over for review and feedback. If there were improvements to be made, he would let me know, and I would then work on them and show him the changes that had been made.

Being able to get advice was extremely useful, as I had only been professionally coding for around a year at the start of the project. Therefore, having someone who knew so much about testing and coding not only helped with my skill development, it also helped me with obstacles I came across, and made me feel more confident in my place on the team.

As time went on, I found myself gaining even more confidence in myself and my work and would rarely need help and instead just reported on my progress. Being able to do more and more by myself made me feel proud because I was for the most part the only one working on big sections of the site as well as the acceptance environment, which behaved quite differently to the test environment as well as needing its own pipeline.

When starting a new project, it’s crucial to establish a solid testing strategy that encompasses various types of testing, such as regression tests, integration tests, and performance tests. Collaboration between the testing team and the development team ensures that the testing plan aligns with the overall project goals.

Utilising appropriate testing tools and maintaining a comprehensive test suite with relevant test data can significantly enhance the software testing process. Engaging in exploratory testing helps uncover unexpected issues, while a well-structured CI/CD pipeline facilitates continuous integration and delivery.

Effective communication within the QA team and regular updates on testing efforts contribute to a seamless workflow. Additionally, understanding the programming language and the user experience of the software products being tested is essential for writing effective tests and ensuring high-quality outcomes.

Conclusion

In this final part of a duet of blogs, I have gone over how using your new perspective of a system can help everyone involved in the project, how you should be like a sponge and absorb all the information that you can, as well as the importance of noting these things down. I then went in to why you should keep researching the tools you’re using and the importance of getting help from your mentor to support you and improve the tests you’re creating.

Hopefully, over the course of these two blog posts, you’ve learnt that there are lots of ways to help yourself in your time on your new project. You can even use the advice in this blog post on your project now, even if you’ve been working on it for a while!

Whatever your scenario, I hope that these blogs have given you a burst of confidence and that if you had any worries before, they have now been at the very least, lessened.

As said in my previous blog, when I first joined projects, I felt very nervous as I charged into this new world of professional coding, which is why I picked up on these tricks so that I now know what to do from the first day of being with a new client. I think this blog would have helped me reach that point a lot quicker, and I hope it helps you too! 

Topics: Software Testing, communication, nFocus SDET Academy

nFocus Blog

Welcome to the nFocus software testing blog. As thought leaders and technical innovators, we created this blog to distil our thoughts, ideas and musings on improving software quality.

Fill out the form below to receive future communications from nFocus including our latest:

  • Blog articles
  • White Papers
  • and plenty more!

Follow us

Follow us on LinkedIn to see our latest content!

Subscribe Here!

Recent Posts

Posts by Topic

see all

Posts by Topic

see all