I'm trying to figure out the proper terminology for our dev/test procedure.
1. The main master codebase in bitbucket.
2. Developers make their code changes (bug fixes, feature improvements) and create pull requests/feature branches that contain their code commits. They are not saved directly into master (so not CI). Each jira issue generally has one corresponding pull request.
3. QA uses Jenkins to deploy individual (or sometimes multile) pull requests on top of the master to our test environments (each QAer has their own test server). So, we are able test the addition of just one change at a time. We do full functional testing and any regression testing we think might be relevant.
4. After QA approves the change, we merge the pull request into the master.
I've worked in QA for 23 years and I'm very very happy with the system we're using. Instead of dev giving us a full iterative version to test, we test and add the parts piece by piece. Nothing gets merged untested so we have great control and minimal risk.
I'm pretty sure it's not Continuous Integration as I've read about it. I thought of the term controlled integration since we carefully check every little thing before it gets integrated, and I see that there is such a concept but I'm not sure that we're doing that either. Or are we? Or something else?