Archive for category Quality Assurances
I arrived on evening before just in time for the life cooking event and later at the bar to meet lot of the people I already know and some new too.
The morning begins with a short introduction to the format of a barcamp.
As warm up Jens Schauder starts with an talk about clean code. He begins to compare what the lack of hygiene for Middle Ages mean and the statement that we are in the IT Middle ages. In extreme cases not tested and not understandable software can kills people! So the task for every day is “write an test” and refactor the code to clean code.
Then the barcamp planning starts. In short time three slots are filled up and the really barcamp starts.
Influenced by the starting talk next there was a session related to clean code and how to implement the related processes. You should teach a little bit of the theory behind it. It is essential to decide all rules with the whole team and review the continuous use of it. If the rules are not followed, then first you should ask why this happens and listen for the reasons. Jens Schauder recommends here these books. Maybe you have to adjust the rules to convince all developers. But in extreme cases of deny any of the decided rules you should escalate and delegate this to the responsible manager.
Next session was about how to test heterogeneous applications, especially SQL, PL/SQL and Forms but others too. I mentioned here two possible strategies, which both has it’s tradeoffs:
- End to end testing with expensive Tools, which provides all the required technology plugins, eg.
- Technology testing and mocking the behavior of interfaces to other technologies, you have to learn all off this and provide the infrastructure for it.
I noticed here that testing is mainly seen as to check the contract between developer and customer, sometimes useful for regression test but seldom as required for changing or refactoring the code. The participants seems to be overwhelmed by the amount of tools and effort to do automatic testing. Yes – there is a lot to do in advance, which pays off later.
In the next break I get a shortcut for actual requirement for forms change to implement some kind of SSO without additional servers. I get some nice hints and have now to check, if one of this is successful. This are the advantages of networking here.
The we discussed about Alternatives to Oracle Reports. Seems that it depends on your requirements, which tool to choose. Please do an value analysis here. So if you need pixel exact layout or want not pay much money Oracle Business Intelligence Publisher will not your friend. If you search for an active community maybe you should not choose Eclipse BIRT or at least use the commercial version from Actuate. But both of these and Jasper Reports are used from present participants. Further alternatives seem to be SAP Chrystal Reports and Pentaho. And don’t forget to test exotic features like widows and orphans!
After a coffee break we discussed the future of Oracle ADF. The punchline here was: ADF is not dead, but JDeveloper is very buggy. None of the participants does really miss any bit feature, but most struggles with the IDE. It seems, that the problems are bigger, when you work on windows. Maybe some of the product managers should be forced to worked again with windows to see our problems. I have articulated there 2 problems with the ADF community. I we try to raise the acceptance we should not try to extend the focus of the activities to alternative technologies as MAF or JET. Second we should not self call ADF into question on every conference, we should leave this part to the fans of other technologies.
The last session again turns around automatic testing of PL/SQL, some repeating to the described session above.
In closing session most of the participants said, that they want to come back next year. Maybe it is better to put some fixed sessions or workshops, as this is easier to describe to the bosses as “I will go this event, but it is not clear, what will happens there.”
I have learned not so much new things this year, but I attend these time more the known to me technologies. But I get the confirmation, that most of the things we do or plan do to are on the right track.
Unfortunately I observed some people in the sessions, which comes only to search for finding confirmations to reject for itself, what at least the initiator of the topic want to do.
You find more informations in Twitter
This was promising, so I give it a short try for Oracle ADF applications. For this blog I use the Summit ADF application, delivered by Oracle, but I have tried with our own application too. Test is done in JDeveloper 12.1.2.
After the download there are some easy steps of setup to do:
Then edit this configuration
and add XRebel path as described in the documentation:
Save the configuration by pressing OK two times.
Then open your Page and run it via the run configuration:
As First you see one time a dialog to request and enter the trial license.
Then you see the XRebel widget on the left side and after waiting some little time the first issues are shown.
From the default configuration (which can be changed with the gear in the widget) there seems a problem with the size of the session and with SQL Queries. If you drill down to the queries tab on the SQL page you see the execute queries, sorted by execution time, maybe the app should execute some of the queries at least not before changed to the tab, where it is used?
If you look at the session size, then interesting is, that most of the session size is hold on the ODL log manager. Maybe oracle should think about this result, maybe there is a better way to hold this data.
So download XRebel and give it chance on your ADF application.
I have presented today on DOAG Development 2014 in Dusseldorf. For all non DOAG members – you can find the german presentation on slideshare too.
If you speak german and you are interested in quality assurance for your ADF projects you should come and attend my presentation at DOAG Development on 06/04/2014 in Dusseldorf.
I will show you, how you can implement in the JDeveloper IDE and in Continous Integration server Jenkins:
- static code analysis with PMD, FindBugs and Checkstyle
- Commit tests with JUnit, Mockito and Powermock for Mockito
- Code coverage for commit tests with JaCoCo
- Acceptance tests with JUnit and Selenium
I have finished now my work on integrating last PMD version 5.0.5 into JDeveloper.
This is available now for JDeveloper 126.96.36.199 upwards, 11.1.2.x. and 12.1.2. There is no new functionality, as the most work intensive part was the rewriting for PMD 5. There has changed a lot of api functionality.
Please give it a try, you can download it via the standard update center “Open Source and Partners Extensions” in JDveloper itself
or directly from the PMD SourceForge.net Project Page.