I think you are misusing / abusing the term "legacy" as it relates to software development. A proper example of legacy code is supporting 16 bit applications in a 32 bit operating system. An ED-specific example of legacy would be supporting older graphics APIs so that Beyond would run on Apple computers (this too being a contentious issue).
Legacy code is anything which is not in use any more. A classical example is just to switch the UI style. There's plenty of people out there for many applications, which are like "but I liked the pointy corners more, rounded corners are ugly, undo that", etc.
It's just a small thing, right? Why don't companies supply versions of the same software with pointy and round corners? Yes, this is oversimplified, but you know what I mean. I hope.
You are making a few false assumptions here.
- That a revived ADS would need to be implemented EXACTLY the same as the old system and thus require separate and notionally identical test cases and require the same level of effort - some additional testing but may be required but it should pale in comparison to the level of effort notionally required for the FSS based tests due to the more complex implementation of the FSS UI
- That the FSS has only one test path - it would need to be tested in VR too - an auto-scan version of the FSS (aka revived ADS) should not have any new VR/non-VR distinct visual elements to consider
- The revived ADS would necessarily completely subsume the FSS functionality - not even close, more the revived ADS would partially subsume the FSS.
Some additional revived-ADS specific testing may be required but the scope should be rather limited in terms of differences - at least if Frontier are following best practices regarding code modularity and re-use.
A lot of text, nothing of which contradicts what I wrote, except that you skipped things.
On point 1: That's not a wrong assumption. People demand the old ADS to come back in exactly the way it formerly was. Optional module or not, they want exactly the same functionality back. If you claim anything different, please tell me on which basis you would do so? This thread does not support your claim.
On point 2: Indeed the new FSS requires more testing. Indeed what I wrote is simplified. But the basis of what I wrote still is true: when there are two systems, who basically do the same in a different way, you have to not only test these two systems, but also check all possible connections between them.
And that's only the positive test. When you go for negative tests, which any good tester does, you have to do checks on all aspects where they should no affect each other to be sure that they don't do that. There might always be the one pointer or variable which was taken from the code from one line and still is used on the other line and they affect each other. Stuff happens.
As you mention best practices: It's a simple as that: have libraries with some basic functions. If you are what you claim to be, you might already have heard of that. Now imagine that the update of one feature requires the adjustment of a library. Which can, under specific circumstances, now break the other function. Not only do you have to locate the problem, it also means yet another packet of test cases in your test suite, which will have to be run at every major build.
It's such things which make testing really interesting, but also a lot of effort. As anybody who already worked on any bigger and longer running project knows.
And your point 3 is again point 1: people want the complete ADS of old times back. They are ready to discuss if it would again be the ADS module or not. But the return of the ADS is core of this thread.
So really, come again.