As well as reading PRs, I encourage my team go use the PR stage to pull code locally and test it. And I sometimes do the same, or deployment the branch to a test environment.
I have found many problems by actively reviewing PRs, I’ve also learned things and given praise.
I did not review the changes in PRs, I was only interested in the end result of black-box testing.
Testing on the local environment of a given PRs and sometimes fixing trivial defects.
The third approach, which I still use today and consider the most reasonable.
Testing changes on a feature branch, on which the whole application is put on a temporary development environment (correspondingly smaller scale). In this case, I very often do a test review first, e.g. Are all the paths covered that I am going to test manually, both happy paths and edge cases. If not then I return PR with a request to add such tests.
It really isn’t the norm either. I gave a talk about this to our local tester user group a few years back and even the suggestion of reading PRs was met with confused or even disengaged reactions. OR the testers wanted to but weren’t empowered to do so.
I’ve received resistance contributing unit tests to a project in a tester role. I was told any tests I write need to be browser automation. You know who told me that? Not the devs, they loved the added tests. It was my test manager. That wasn’t even that long ago.
You know what’s funny is the unit tests shifted detecting the regression left so browser tests weren’t needed. I’ve never been just a warm body to pump out test automation.
Sounds like you are truly adding value, even if your manager can’t see it.
I’ve had a lot of support from my recent managers, to get involved in any aspects of Engineering, from writing automated tests, to contributing production code and pairing. Really enjoyed pairing with my team today, I got a turn driving, it was loads of fun.
I’m about to give a talk at my quality community of practice to get more QAs into PRs. I know I’ll also get the confused looks as well. So it’s going to be a chat of this is why it’s important and here’s some strategies to start stepping your toes into it.
I really want to get more Quality peeps into the Unit Testing/Integration testing part of development, not actually doing it (unless they want to), but to help guide on what behaviors we should cover and validate we’re covering the business requirements and the most important test cases.
Yes in my current organization, we actively read PRs before writing scripts or conducting functional testing.
Whenever the code is merged, we try to read it most of the time.
It helps in many ways :
It lets us know what developer has changed to fix the code or implement the features
it saves time, e.g. if we don’t see the PR and directly write the scripts and then scripts fail because of not meeting the expected result then we have to raise a bug and then it gets fixed which usually doesn’t happen in the case of PR when we see something wrong in the code we report it directly and the developers fixed it
it is different from typical testing we do as we have to understand the developer’s perspective that what they may be thinking while writing the code to fix the issue or implement new features.
Yes, I do feel empowered to look into PRs. I’ve heard of companies where testers do not have permission to see the source code of the product (usually enforced by the system), and honestly, I wouldn’t want to work in place like that.
In my current team the ideal situation is where testers approve the PRs before they merge. That approval may be based on actual experience working with a CI-provided build that has a PR applied. Obviously, it’s not always a case - some changes are trivial/small/obvious enough that just looking at the code is enough; sometimes testers in the team are busy with other things and don’t have time to take a look; sometimes another developer will do the testing. You know how it is.
Were I able to find an issue during a review phase? Yes, I was. Did it happen that I missed an issue I could have found during a review phase? Yes, it did .
However, I am a bit confused by the first question, one about pull requests popping out. Unless you are working on a real open source app with actual community, that might be a sign of miscommunication between developers and testers. I mean, testers shouldn’t first learn about changes from the PR - these things should have been refined, possibly picked into a sprint, communicated during standup. I know that not everyone follows the same agile-like process, but the point is that there are many opportunities for testers to get involved way before PR is submitted.
PR’s are gold mines for Learning and finding bugs, plus just improving code. Great source for planning what to test. Looking for code that doesn’t make sense.
I’ve been carefully using Chatgpt for reviews as well. Ask it to look for problems with the code , suggest changes/improvements after sanitising the code. It has been pretty useful
I have always made a point to teach my teams git and to pull code to test branches themselves. I would get push back from Dev leads or some software managers. Until it saved them from pushing out extremely buggy code and had to admit the devs appreciated the wingman. It always helped the QA/QE evolve and the developer appreciate and respect our department much more for just getting into the process. In bigger companies it can be a hassle due to folks marking their territory but it should be the norm.