Keep your software projects on track and know their status with software process automation tips available on this lens.
What to Automate
Parts of your software development process that can be automated
- Testing: Unit testing, acceptance testing and functional testing can be automated. Start with unit testing -- it's very nature lends itself to being automated.
- Standards Compliance: Compiling automates that you are following the syntax of the language, but you can also find style checkers for most languages to ensure that your code meets the standards beyond the basics.
- Code Generation: Generating code from another source (like data) is a powerful way to make your system extensible. Can you generate the UI from the DB or the DB code from the model?
- Builds: Using Continuous Integration tools like CruiseControl, you can automate your nightly builds.
- Deployment: This lends itself mostly to websites -- going from your build box to deployment should be one command.
Automated Testing
Automated Unit, Acceptance and Functional Testing
- xUnit
- Download the appropriate xUnit Framework for your language.
- FIT
- Framework for writing Acceptance tests
- Fitnesse
- Track and run acceptance tests written with the FIT framework
- Automated QA
- Automated Functional Testing from AutomatedQA
- QA Tool Resources
- Comprehensive and categorized list of QA software
- Style Checkers
- Automated style checkers for Java (can sometimes find bugs).
- Selenium
- Selenium is a test tool for web applications. Selenium tests run directly in a browsers, just as real users do.
- Agitar
- Unit test generation for Java
Continuous Integration
Build your repository whenever it changes
- Daily Builds are Your Friend
- Daily Build article from JoelOnSoftware
- CruiseControl
- Automatically build your project from your source code repository whenever it changes (and at scheduled intervals)
- Getting Started with CruiseControl
- Article on the ThoughtWorks site (initiator of CruiseControl) will take you through the steps on installing, configuring and using CruiseControl.
- IEEE Best Practices - Daily Builds
- Article from 1996 is still relevant today.
Articles on Software Process Automation
- Process Automation Checklist
- A checklist to get you started with software process automation
Best Software Process Books
Pragmatic Project Automation: How to Build, Deploy, and Monitor Java Apps
Amazon Price: $19.77 (as of 10/06/2008)
Visual Basic for Testers
Amazon Price: (as of 10/06/2008)
Pragmatic Unit Testing in Java with JUnit
Amazon Price: $19.77 (as of 10/06/2008)
Pragmatic Unit Testing in C# with Nunit (Pragmatic Programmers)
Amazon Price: (as of 10/06/2008)
The Pragmatic Programmer: From Journeyman to Master
Amazon Price: $37.47 (as of 10/06/2008)
