what do they do ?
Programmers write code in one or more languages, like Inform 6 or TADS. This code, when packaged, creates what players will see - the game or website or whatever.
It’s traditional to talk about the completeness of the pre-release code in terms of Greek letters. A bare-bones version, or a version that doesn’t have all the features yet, might be “alpha”. Something that may be just in place to test a certain thing, or is temporary, might be “pre-alpha”. Generally, code that the programmer believes to be complete with regards to features is “beta”. It’s complete as far as the programmers know, but it hasn’t been rigorously tested and debugged by a larger group.
Programmers will often give beta versions of their program to other people - usually people who didn’t work on it, so they don’t have as many preconceptions and inside knowledge about how it works. Official beta testers will experiment with the program, note bugs or missing features they’d like to see, document problems, and give feedback to the programmers, who decide which changes are worth making, and which aren’t.
Different betas tend to be good at finding different kinds of stuff, so a thorough testing should probably have several different beta testers, preferably with different backgrounds or focuses.
It’s totally possible to be both a programmer and a beta tester. You can’t really beta test your own work - you’re just too close to it. However, beta testing for others is a good public service, and may give you good insight into stuff you want to do, or pitfalls you may want to avoid.
The traditional team actually requires at least three groups: Writers, programmers and beta testers. Writers are those who write the plot and prose, but aren’t usually major participants in the implementation.
In IF, anyway …
Programmers implement the work of writers and game designers. Given the hobby nature of most IF (or the shoestring nature of even some non-hobby projects) the writers, game designers, and programmers are often just piles of hats on a single noggin.
Beta testers test “complete” (somewhere in my mind the term “release candidate” is bouncing around as if I have a sweet clue about this stuff; I do not) versions of games, games the writers/designers/programmers (or that one person with all the hats) feel is ready. They prove that it is not really ready, and they keep proving that it is not until (ideally) they can’t prove it anymore.
Or if you’re using Adrift.
You are the designer, writer and “programmer” all in one… (I have placed programmer in quotes on purpose since there are people who claim that “drifters” don’t program… )
One thing you’ll never be is beta tester, at least not in your own game.
Which authoring tool you choose doesn’t really have anything to do with it. You can be both the writer and programmer even if you implement it in x86 assembly.