New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Rob Thornton on Nov 28, 2006
Agitar recently released AgitarOne and InfoQ sat down with Alberto Savoia, CTO, VP of Engineering, and co-founder of Agitar to talk about the new product. AgitarOne is a unit-testing product that provides generated JUnit tests to cover legacy code or to provide additional regression tests. AgitarOne also includes Agitation, a process that will dynamically generate and run test cases by testing boundary conditions. Code coverage, code rules, and continuous integration (using CruiseControl) are also built-in and all results are displayed on the provided dashboard.
First, Savoia described the key differentiator AgitarOne was for a company that was already behind unit testing with JUnit / TestNG and CruiseControl.
Almost all our customers are already believers in developer testing and are already using JUnit, but want to achieve greater efficiency and more thorough testing. We don't replace JUnit, we complement it. You see, testing is a combinatorial problem; we have found that it takes three to four lines of JUnit for every line of Java code in order to achieve 90-100% code coverage. Human beings are great at tasks that require creativity, insight, and domain knowledge; while computers are great at tasks that require repetition, exhaustive searches, etc. AgitarOne allows developers to focus on the aspects of testing that require human intellect and takes care of the bits that will benefit from automation. In my opinion test automation is not a luxury, or an option, but a necessity. Without it, you can't be as thorough or efficient as you need to be. I have a new favorite slogan: "Exhaustive testing without exhausted developers"?.
Next Savoia was asked if a company is just getting started on unit testing, would he recommend focusing on JUnit / TestNG first and then adding AgitarOne, or are they independent of each other?
AgitarOne is designed to encourage and leverage JUnit usage and developer interaction. I believe that every professional Java developer should know how to write tests and should write unit tests for their code. JUnit, and other frameworks and extensions based on it, are very easy to learn and use - there’s really no excuse for not knowing them or using them. For a developer, being able to test using JUnit, is like for an accountant being able to add using a calculator - an essential skill. But to achieve maximum effectiveness, an accountant takes advantage of tools like spreadsheets. The spreadsheet does not replace the accountant, but it helps achieve much greater efficiency by using a computer to do the kind of tasks that computers do best. AgitarOne does for developers what a spreadsheet does for accountants; it allows them to do their job with more effectiveness, efficiency, and thoroughness. I would not dream of hiring an accountant that does not know how to add, or have an accountant working for me without the benefit of a spreadsheet. Similarly, I expect developers to know how to test manually, but to also have the tools to automate and help them with the aspects of testing that benefit greatly from automation.
The discussion moved to integration of AgitarOne into an existing codebase. AgitarOne ships with an Eclipse plug-in, but we asked if there were any plans for integration into other IDEs such as NetBeans or IntelliJ.
AgitarOne is designed to integrate seamlessly, and at any time during the development cycle, and I believe we have made it extremely easy and fast to deploy. The Eclipse plug-in downloads and installs in less than one minute, and you can have your first generated test in another minute or so. Currently we have full and seamless integration with Eclipse and we are exploring ways and partnerships to cover NetBeans, IntelliJ, and other IDEs.
Lastly Savoia provided what he thinks is exiting about the future of software testing.
To me, the most exciting thing about the future of software testing is the excellent prospects for what I call "The Developer Testing Revolution" - the idea that developers should take responsibility for unit testing their own code. Thanks to JUnit and XP (and other Agile methodologies) we have a great chance of making developer testing the rule rather than the exception. But I don't think this will happen without new tools and technology to help the majority of developers cross that bridge. I am thrilled that, with Agitar, I have an opportunity to play a role in the success of this revolution.
AgitarOne version 4.0 is available immediately on Windows and Linux.
18 agile and lean practices for effective software development governance
Using Drools? See what you're missing! Get the Power of Drools with the Assurance of Red Hat
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
No comments
Watch Thread Reply