How Useful is ABAP Unit?
I think this is a quite interesting and challenging question. After I started to use ABAP Unit I discovered, that unit tests in ABAP differ from tests I wrote in Java. What are the reasons resp. difficulties in ABAP development?
- Tool support: In Java there are many tools that will help you, think of EasyMock und jMock for example.
- In Java you are working in a complete object oriented world that makes it easy to create dummy objects – in ABAP you need to write object oriented wrappers of SAP standard functions.
- In ABAP you have lots of asynchronous processes like workflows or update modules that are difficult to test – in fact most of those test cases should be covered by integration tests instead of unit tests from my point of view.
- Code refactoring in Java is easily done – and sometimes even refactoring of unit test cases is possible, too. As far as I know code refactoring tools in ABAP are not that good compared to Java.
So at first I was sceptic but now I support using ABAP Unit after a collegue started to use this technique successfully to write unit tests for classes that depend strongly on customizing. Customizing allows to create flexible applications even customers can adapt to their needs without modifications. But following problems occur:
- Is customizing consistent?
- Is it still consistent after changes during developing or implementation process?
- If customizing has great impact on you application – will it work in every case?
So I strongly recommend to create unit test cases for ABAP classes depending on customizing. And I’m convinced that unit test expert Achim Bangert will give us deeper insight in ABAP Unit and best practices for its use in his lecture.
It is often said that agile methods don’t scale so I was very surprised to learn that Scrum is used at SAP even in large projects with developers on different places and even in different time zones. Therefore different techniques like “Scrum of Scrums” have been applied successfully. I would like to know about the impact of Scrum on SAP development process and whether it was applied in ABAP projects, too.