banner
Dave Horner's Website - Yet another perspective on things...
Home Tech Talk Programming Testing, Release Engineering, CI - building code that deploys and runs like it should.
If you appreciate the information found on this website, please drop me a line!

Who's Online

We have 31 guests online
Content View Hits : 1157316
moon and stars
How did you find my site?
 
How often do you answer random online questions?
 

Random Quote

Save the whales. Feed the hungry. Free the mallocs.
— fortune(6)
DSC01232
DCP00356
100_1129
Las_Vegas_2002_069

Testing, Release Engineering, CI - building code that deploys and runs like it should.

Sunday, 03 September 2006 21:02
The bar is high to write good software. Good software requires documentation with full requirements. Software is no good without tests. Tests define functionality and indicate a contract for such functionality. Without a requirement and test, who is to say that any software feature exists or works at all?

epowiki: Unit Testing And Test Driven Development
Test-driven development - Wikipedia, the free encyclopedia


Continuous Build is not Continuous Integration « DanNorth.net

Lately I've been working on creating SVN repos of code I've done in the past. Doing so makes me realize again how hard release engineering can be.

Here is a look at the problem from Wez Furlong that details what release engineering is all about: Release Engineering

The first setup in proper release engineering, is selecting your build tools. And boy is that a HARD thing to do these days.

There are about a million different ways to compile, link, and build things. Every platform has it's own problems and custom switches needed to get the job done right.

Just look at some of the tools we have to choose from when we are looking for a cross platform build manager:
Bakefile, CMake
,Autoconf and Automake

Some funny..

_DD: What do you practice? - Don't you know what an initialism is?
Guilt Driven Development - tatiyants.com - Guilt Driven Development GDD forces you to make promises and guilts you into keeping them. I expected more from you, I really did.


Web Resources

Learning Autoconf and Automake
Jam - a new portable makefile?! Using Jam in a dynamic automated build enviroment
google:using Jam
Doesn't look very promising given this mailinglist entry:
Who is using Jam?
Using JAM in a Clustered Environment
Jambase Reference

SCons

Deploying Your Application

 

sdvel
ccbuild - A strict developer's build utility


Javascript Continuous Integration Testing

index.php at master from jeresig's testswarm - GitHub
JSCONF 2009 - john resig talks about testswarm in part two.
Test Swarm: Distributed Continuous Integration for JavaScript - testswarm- GitHub - wiki


CruiseControl.net

Draco.NET - Draco.NET is a Windows service application designed to facilitate continuous integration.
CruiseControl Home - Original CruiseControl is written in Java but is used on a wide variety of projects.
CI Feature Matrix - CruiseControl - Confluence - a feature matrix for various CI servers.
CI Factory - Home
RuWi - POSTINGS ABOUT CCNET, A CONTINUOUS INTEGRATION SERVER WRITTEN IN C#.
UppercuT - Automated Builds - CruiseControl.NET Integration
uppercut - Google Code - Uppercut is an automated .NET build framework built with NAnt

Continuous0 Integration
Continuous Integration with Visual C++ and COM
Agile Testing Articles and Tutorials
Agile Testing: On the importance of functional testing
Automated GUI testing - Is it worth it?
Windows Application Test System Using Python


MSBuild

msbuildtasks.tigris.org - provides a collection of open source tasks for MSBuild.
MSBuild: The New Build System for Visual Studio 2005 and Longhorn

FitNesse - The fully integrated standalone wiki, and acceptance testing framework. (uses tables of data to communicate requirements with software)
NCover - Code Coverage for .NET Developers
NUnitForms : An NUnit extension for testing Windows Forms applications.


Functional Testing

WatiN - Web Application Testing In .Net - automation of Internet Explorer and Firefox for web functional tests.
Selenium web application testing system - Selenium is a suite of tools to automate web app testing across many platforms.
Chapter 18. PHPUnit and Selenium
Web testing with Selenium and xUnit.net
Practical symfony | Day 9: The Functional Tests | symfony | Web PHP Framework - seleniums functional test walkthrough
testdriven.com: Your test-driven development community - News
mechanize - Stateful programmatic web browsing in Python
twill: a simple scripting language for Web browsing
Windmill Testing Framework
Splinter: Python tool for acceptance tests on web applications | Francisco Souza - cobrateam/splinter - GitHub


Continuous Integration Server

xinc - Project Hosting on Google Code - Xinc is a continuous integration server written in PHP 5. It has built-in support for Subversion and Phing (and therefore PHPUnit), and can be easily extended to work with alternative version control or build tools.
phpUnderControl - phpUnderControl is an addon application(PHP) for the continuous integration tool CruiseControl, which integrates some of the best PHP development tools.
CruiseControl Home - Java CI server.
Continuous Integration Build Tool - Bamboo -
Hudson CI - Java servlet based CI.
Redsolo's blog site: Hudson embraces Python
CI Scalability with .NET apps - Continuous Automation
VB.Net Articles : Update to the Build Automation
Testing : Automating NUnit and MsTest

WiX Tricks: Automate Releases With MSBuild And Windows Installer XML -- MSDN Magazine, March 2007


Things related to unit testing

xTests - Multi-language, Lightweight Test-suites - C and C++ testing
xUnit.net - Unit Testing for .NET - Home
index at XUnitPatterns.com
MbUnit - Generative Unit Test Framework for the .NET Framework.
TestApi - a library of Test APIs - Home
Selective Unit Testing – Costs and Benefits « Steve Sanderson’s blog


Mocking frameworks

moq - Google Code - The simplest mocking library for .NET 3.5 and Silverlight with deep C# 3.0 integration
moq-contrib - Google Code - moq contributions which includes Automocking - moq-contrib - Instruction on how to automate mocking using AutoMock container - Google Code and others.
Ayende @ Rahien - Rhino Mocks - dynamic mock object framework for the .Net platform.
NBuilder - Rapid generation of test objects for .NET - fluent, extensible interface, NBuilder allows you to rapidly create test data, automatically assigning values to properties and public fields that are of type of the built in .NET data types (e.g. ints and strings). NBuilder allows you to override for properties you are interested in using lambda expressions.
AutoMapper - AutoMapper is an object-object mapper. Object-object mapping works by transforming an input object of one type into an output object of a different type.



Usability testing

Testing for usability is something that is very important. Users can have a voice and shape the way software works. You need to listen....and make it a priority to hear what they are saying.
Fluid Project - What is Fluid?


Code review

Code review is something that helps software projects become better products. It also helps to make developers better through feedback and code reflection. It means more eyes and more understanding. It helps to enforce standards and style guidelines with development. Mentoring and discussion become part of the development practice.

An Open Source App: Rietveld Code Review Tool - Google App Engine - Google Code
YouTube - Mondrian Code Review On The Web


Code analysis

Gendarme - Mono - Gendarme inspects programs and libraries that contain code in ECMA CIL format (Mono and .NET) and looks for common problems with the code, problems that compiler do not typically check or have not historically checked.


msi Microsoft installation stuff

Howto Extract all Files from Microsoft Installer Files (msi) rather than to Install the Package « sysblogd


Hudson Continuous Integration - now owned by Oracle.
Welcome to Jenkins CI! | Jenkins CI - community driven fork of hudson.
Chisel at blogs.perl.org: Quick Start : Puppet
Last Updated on Wednesday, 01 February 2012 08:44