0

I am migrating a legacy system from Oracle Form to Web Application. The migration is conducted with code study and interview.

As the requirement is to migrate the existing system to Web application and keep all existing functionalities.

There are some differences in behavior between Web application and exiting system because of completely different architecture. In addition, the functionalities of existing system is not well known.

In this situation, how should I prepare test case in order to ensure the quality of the system and also meet the requirements of the project?

Edit: I would like to mention that this project use Agile Methodology.


Similar Question: Writing tests for code whose purpose I don't understand

Difference: The Tester of "Writing tests for code whose purpose I don't understand" well know the input and output of the System. But in this situation, testers does not know the input and output of the System and also the functionalities of the System.

Ben Cheng
  • 349

1 Answers1

4

In order to answer your last question ("how should I prepare test case in order to ensure the quality of the system?") you must answer your first two questions:

There are some differences in behaviour between Web application and exiting system because of completely different architecture.

What are those differences? You need to identify them, and document them.

In addition, the functionalities of existing system is not well known.

You also need to spend more time analyzing the existing system to answer these questions, which likely involves more code analysis, interviewing past or present developers and business stake holders --- regular users, if need be.

Then...

Write automated test scripts using a tool like Cucumber (or SpecFlow for .NET applications) to describe the behavior --- lots of tests. Once the web application is making the tests pass, then you have a pretty good idea the legacy system has been ported over to the web application.

The key here is to make these tests automated. Relying on humans to do the same exact thing over and over is error prone. We are good at doing things differently each time. Set up a continuous integration server that runs these automated tests each time you check code in. The mindless robot can execute these repeatable tests.

Now you free up the Humans to do exploratory testing to see if they can break the system (both old and new).

Basically, ensuring quality for migrating a legacy system is exactly the same as it is for building a new system, except you have an existing system to refer back to when creating the new one.