When you have a file open, say my_awesome_script.py, this function will find and open test_my_awesome_script.py. You have to open vim in the root directory of your project, though.
:call OpenTestFile()
function! OpenTestFile(split)
let l:test_file = '**/[tT]est*' . expand('%:t')
" echom l:test_file
if a:split ==# 'vertical'
vsplit
elseif a:split ==# 'horizontal'
split
endif
try
execute "next" . ' ' . l:test_file
catch
if a:split ==# "horizontal" || a:split ==# "vertical"
quit
endif
echom "No test file found."
endtry
endfunc
nnoremap <Leader>ovt :callOpenTestFile("vertical")<cr>
nnoremap <Leader>oht :call OpenTestFile("horizontal")<cr>
nnoremap <Leader>ot :call OpenTestFile("")<cr>