How to test program before releasing new version?

Are you saying that's not common practice?

It should be - but sadly, often it is not. And is therefore yet one more contributor to reasons why big projects sometimes fall down.

People mistake the pressure of a managerially-imposed deadline with having anything to do with the correct handling of a project. So what they do is say, "Do you really need to keep records like that?" "You know that every complete backup takes two hours to complete." "Why are you writing in this document when you should be writing code?" Business managers are useful when dealing with logistics of procurement and such, but there are times when they are a true pain in the toches.

Whoever sets the deadlines and makes other noise needs to be told distinctly and clearly: "I can sit here and talk with you about deadlines or I can get back to work finding and fixing problems in this thing that you are currently distracting me from doing." I've had to use that line more than once. But because of that kind of pressure, it is sadly NOT common practice in some environments.
 
When a new procedure is created or even simply when functionality is added to an existing procedure, the moment of release to the end user is always a critical phase
Will I have thoroughly tested the new features?
Will I have introduced anomalies on functions that worked correctly before?
And so on
And so the question is: how do you effectively test a new procedure or a procedure already released and updated on new features?
The simple solution is to share responsibility for testing with your client or the project manager. With the client having responsibilty for the final testing. I don't release a new version, they do. They must have a critical process test plan that they go through to ensure that there will not be a show stopper on release.

Typically the person (project manager, business owner...) who requested the work is responsible for the final testing and release.

While it may be unreasonable to test everything, a formal test plan for critical use cases is a must. Issues that don't stop the show can be handled on a prioritised agile basis.
 
Last edited:
how do you effectively test a new procedure or a procedure already released and updated on new features?
It has already been said above: Divide and conquer.
You also need organization and programming style.

If you understand your new / changed procedure as a class that fulfills a certain defined task and where there are defined places for data input and output, it is quite clear.

The procedure itself must process everything cleanly and error-free, what arrives as input and what you allow as input. You can imagine and test different inputs: normal values, borderline values, impossible values (text where a number is required), NULL, empty strings, no values at all (forgot to pass parameters).

It helps a lot if the procedure (or form) is self-contained and has no mutual dependencies on other procedures and objects or variables, because you will no longer be able to imitate and test such a "pinball machine".
 
I've read the thread with great interest and generally all the advice is good.

However, I would point out the steps you need, all desribed in one way or another above are:

There must be fully described specification of what the changes are supposed to do (an what the must not do)!

There must then be a test plan that checks every aspect of the specification.

This test plan must then be executed in full. (And errors fixed and retested).

If there are users separate from the development environment a full test by selected users must follow.

All steps above must be subject to review and appropriate revision,

It is all a a matter of iteration until complete.

These steps apply whether it is a full radical release or revision,or just two lines of code, and whatever level of automation is involved.

After a career of writing software that was used in commercial and military applications, I still follow all these steps even in access databases that are for my use only. Mind you it now just hand written process in an A5 notebook.

And I still get errors!
 

Users who are viewing this thread

Back
Top Bottom