How to develop and test back-end packages like dbplyr and stringi?



I am familiar with the develop/load/test workflow for package development using devtools::load_all(). However I am not sure what the workflow looks like for developing a back end package such as dbplyr. Basically I would like to make changes to a development version of dbplyr, run devtools::load_all(), then test some dplyr code which should call the functions in the development version of dbplyr and not the installed version. Another example might be making changes to stringi and then testing those changes by running functions in the stringr package without constantly reinstalling stringi after every change. How do package developers handle this situation?