Home > Microsoft .Net Development Tips > Application Testing and Security > Three must-have tools: Version control, issue tracking, unit testing
Win Development Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

APPLICATION TESTING AND SECURITY

Three must-have tools: Version control, issue tracking, unit testing


Mike Gunderloy
05.23.2005
Rating: -3.75- (out of 5)


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


Even with the recent pricing changes, Visual Studio Team System is going to remain out of reach of many small shops and individual developers. However you feel about the value offered by the package, the reality is that it's not feasible for some organizations to lay out thousands of dollars per developer to upgrade to VSTS. In the sometimes-heated discussions of pricing, though, it's been easy to lose sight of one simple fact: it's perfectly possible to sit down with a copy of Visual Studio Professional and write Visual Basic applications. You don't actually need the whole Team System packages to turn out software

While it is true that you may not need all the features of Team System, you shouldn't just start hammering out code without a plan. For any but the most trivial of software projects to succeed, you need to follow some best practices and back up your coding with appropriate support tools. Fortunately, there are less-expensive alternatives to VSTS for the cash-strapped developer who still wants to do professional work. Developers argue about which tools are really required to do a good job of writing software, but every topnotch developer I know would agree that three are core areas of tools that you need to have covered:

Version control (which also goes by other names like "source code control" or "source code management") is your best insurance against the inevitable "oops" moment when you realize you've just spent half an hour replacing working code with a brilliant new idea that doesn't actually work. With a version control system in place, it's easy to roll back to the working code. It's also easy to recover the version a customer is having trouble with, even if it was something you sent out six months ago, or to see what changed in the last five revisions of a class. Microsoft offers Visual SourceSafe as a lower-cost alternative to Team Foundation Server, but you can save even more money by moving to a free version control system. Th


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


RELATED CONTENT
.NET Framework security best practices
New features in Windows 7 bring new UI considerations for developers
Podcast: Windows CardSpace authors speak
Book excerpt: Java EE and .NET security interoperability
Book excerpt: Advanced Windows Debugging
Book excerpt: Pragmatic unit testing in C# with NUnit
Security interoperability with .NET/WSE and WebLogic Workshop 8.1
Windows Developments: Product news, December 2007
How to avoid regression bugs while adding new features
VB code: New additions, November 2007
VB code: Application security downloads

.NET Architecture
Microsoft's Oslo modeling platform, the M language and .NET
Introduction to ASP.NET's Model View Controller (MVC) Design Pattern
Free book from Microsoft brings patterns and practices to .NET
A look at concurrency constructs and primitives in .NET
Designing Windows Communication Foundation service contracts
Book excerpt: Java EE and .NET security interoperability
Book excerpt: .NET Framework Design Guidelines
Book Excerpt: Executing activities in Windows Workflow Foundation
Aspect-oriented programming (AOP) and the .NET Framework
Book excerpt: Hands-on Windows Communication Foundation

Application Testing and Security
Test-driven development in .NET yields complete unit test coverage
How to write installers in Vista that work correctly under UAC
How to elevate programs' privileges correctly using Vista's UAC
Internet Explorer 8 beta's development tools add source visualizations
Microsoft previews new features in Visual Studio 2010
Advanced Windows Debugging Book Chapter and Podcast
Book excerpt: Advanced Windows Debugging
Book excerpt: Pragmatic unit testing in C# with NUnit
Security interoperability with .NET/WSE and WebLogic Workshop 8.1
How to avoid regression bugs while adding new features

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
common test platform  (SearchWinDevelopment.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


ese days, Subversion is probably the most popular of the free systems, though there are many other choices, both free and commercial.

The second leg of serious development is issue tracking. As soon as your software grows beyond the trivial, you need to do something to keep track of bugs that you need to fix and features that you need to implement. This is critical when you're working as part of a team, so everyone knows what's going on, but it's even critical when you're working alone. I personally use FogBubz, an ASP.NET-based system that costs $99 per user, but there are plenty of other choices out there. If you're a one-person show, you can just keep your own list on a spreadsheet or in a database. But, however you do it, you need some system to tell you what's left to do at any given point. Otherwise, how will you know when you're ready to release the software?

Finally, for any but the simplest software, you should invest the time to install and learn how to use unit testing software. This is one area where your investment will probably be limited to time, because there are several excellent free unit testing tools. NUnit is the original unit-testing solution for VB.NET; MbUnit is an alternative with a wider range of features. Unit tests allow you to automate the checking of your code, so that you can be sure that adding new code doesn't break existing code. A good suite of unit tests makes it easy and safe to maintain your applications without fear that you're going to mess something up because you've forgotten how all of the pieces fit together.

After you've gotten the essential three taken care of, you can move to build up your toolbox as you need (and can afford) individual tools. Whether it's a standards conformance analysis tool, a documentation tool, or a smart ASP.NET deployment tool (just to name a few), there are hundreds of choices in the .NET universe. [SharpToolbox is an excellent resource when you're hunting for .NET tools.] This piecemeal approach won't give you the perfectly-integrated result of buying Visual Studio Team System - but it also won't force you to lay out several thousand dollars up front, or to buy some pieces you might never use. But whatever approach you take to development, make sure you cover the essentials before you spend too much time writing code.

Mike Gunderloy is an independent developer and author working in eastern Washington state. His recent books include Painless Project Management with FogBugz (Apress) and Coder to Developer (Sybex). You can read more of Mike's work at his Larkware Web site, or contact him at MikeG1@larkfarm.com.


Rate this Tip
To rate tips, you must be a member of SearchWinDevelopment.com.
Register now to start rating these tips. Log in if you are already a member.


Submit a Tip




DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



Database Programming Solutions - .NET XML, Visual Studio LINQ, ORM .NET
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2000 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts