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.

  • I think this is a good question. It's bordering on being too broad. People have voted to close this an "Unclear what you're asking" and I don't think the question is unclear. How do you migrate an old system to a new system while ensuring all functionality is ported over. – Greg Burghardt Dec 11 '17 at 13:33
  • Thanks Greg Burghardt. Is the requirement is well defined if system migration of functionalities of exiting system is not well known? – Ben Cheng Dec 11 '17 at 14:18
  • If the existing system is not well known, then the requirements of what functionality needs to be ported over is not well defined. – Greg Burghardt Dec 11 '17 at 15:51
  • Can I say the scope is quite vague for system migration project? – Ben Cheng Dec 12 '17 at 2:21
  • @DocBrown. It is quite similar but the situation is quite difference. In this situation, I understand the code I wrote but I do not understand the code in the legacy system. – Ben Cheng Dec 12 '17 at 9:59
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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.