Is Testing is must for creating the project?

Hi… all…

As given in agile book, Is Testing is must for creating the project?

Testing in general is never bad so it is your decision what you test in project to be sure everything works.

The advantage of testing is that run your tests after each (huge) change and if everything is ok your changes should also be ok, if one or more tests fail you know you have broken something with the changes.

Briefly: no it isn’t.

To be more detailed: There are several distinct cases.

Unit testing:

  • When you write any reusable code (an extension, an application component, or a whole framewok/library) unit testing is a mandatory. I speak from experience.

  • When you write your application specific model classes, it depends. Typical CRUD model classes doesn’t require unit testing, because they contain only inherited methods (already tested by framework developers) and methods with declarative code (relations(), scopes(), rules(), etc.). Declarative code can’t be tested effectively without repeating the same code in test, which can’t be considered as good testing practice. If your model contains some additional business logic (e.g. calculated values) then it needs to be tested.

Functional testing:

Writing and maintaining valuable functional tests is time-consuming. Requirements may change often and drastically during development, as your client changes his mind, and you have to update both the code and its functional tests. It’s often faster to do manual test. You have to decide if it’s worth the effort on your current project.