What evaluation methods can be used that don't involve testing but are adaptable to online courses
As part of an algorithms module (first-year undergraduate level), I got students to choose a computational problem from a list of options I provided, write an algorithm to solve it, and write a 750-word report explaining:


The problem in their own words,
How their algorithm works (with code), and
How they tested it.


Students had a few weeks to complete this task, worked in their own time, and then submitted their report to the university's Moodle site; so this kind of assessment could work equally well in a non-face-to-face course.

The idea behind asking students to explain their algorithm came from the fact that interviewees for software jobs often have to solve a problem during the interview and explain how their solution works. Being able to explain how one's code works is also important for many other things a programmer might do, like rubber-duck debugging, code review, or writing good answers on Stack Overflow.

Your question doesn't dwell on it, but one of the key differences between in-person and online assessments is the opportunity for cheating and the difficulty of detecting it. As a convenient side-effect of having students explain the problem and their solution in their own words, suspected cheaters can be identified in two ways:


A student who is unable to write the code themselves is usually also unable to adequately explain how the code works.
A student who also copies the explanation (or parts of it) can be detected by standard tools such as TurnItIn, so you don't need a more sophisticated tool for comparing code similarity.


In the former case, a poor explanation deserves a low grade anyway, whether or not they cheated. In the latter case, my experience of running the assessment over two years with ~250 students each year is that TurnItIn works well enough for catching students who copy from an online source or from each other. With fewer students, you can group the assessment submissions by which problem they attempted, and probably notice any collusion yourself even without a tool like TurnItIn.