Recently I decided to explore some open source projects. I think it's a good way to learn more that how experienced SDET/Test Architect approach in their design. I found myself a little overwhelmed by the projects I looked at it. With my level of experience, it was hard to understand the body of code I faced.

This has been a great experience to know the approach the task of understanding a new medium to large scale project. Now I found myself struggling to understand someone test script. At sometime I feel that I could understand a small portion of the system but not see how its all fit together. Do others get this same feeling? If so what approaches do you take to understanding the project? Do you have any other advice about how to learn design best practices?

  • 1
    The current question is related to software engineering as a whole, the same question can be asked by a software engineer in a new project. But I can see ways where it may be more relevant to testing. Can you try and edit it to better match here ?
    – Rsf
    Commented Sep 25, 2019 at 8:02
  • Yes... I am addressing the question for SDET point of view. I updated the question. Commented Sep 25, 2019 at 8:30
  • 1
    Updated title for SDET mention Commented Sep 25, 2019 at 10:14
  • 1
    Is the title actually "How can SDETs learn to understand complicated code bases?" Commented Sep 25, 2019 at 10:15
  • Your title is perfect Commented Sep 25, 2019 at 11:31

2 Answers 2


"A journey of a thousand miles begins with a single step"- Lao Tzu

Go Small .I would start with a known open source project- most likely an automation library which I am already using .

I would make a list of interesting API methods which I am using on daily basis and curious about how they work under the hood.

In this way I will take small baby steps to understand those methods specifically and may be try to write documentation for them.

This way somewhere down the line, I would feel more comfortable with the library as whole and will start to see the bigger picture. As I will be more comfortable , I would try to fix small open issues in the codebase. And on and on...


Get in contact with the developers. Just like with internal projects you probably need someone to guide you through the code to get started. Larger Open-Source projects often have a IRC channel or a mailing-list.

If you are really intressted in helping the project and not just to understand their test-architecture you could send a message to a communication channel of the project. E.g.: Is there a need and if so, how can help build (more) tests for your project?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.