Friday, September 30, 2005

How to Hold a Writer's Workshop

http://www.cs.wustl.edu/~schmidt/writersworkshop.html

Monday, September 26, 2005

Email Exception Error

Email Error
Application_Error
String message = "Url " + Request.Path + " Error: " + Server.GetLastError().ToString();
MailMessage m = new MailMessage();
m.From ="me@mycompany.com";
m.To = "you@yourcompany.com";
m.Subject = "if you knew how to code, you wouldn't see this email";
m.Body = message;
SmtpMail.SmtpServer="127.0.0.1";
SmtpMail.Send( m );

FreeTextBox Forums

http://www.freetextbox.com/

Build an ASP.NET Exception Logging Framework

ActionScript 2.0 Unit Test Framework

SourceForge.net: Project Info - ActionScript 2.0 Unit Test Framework

TargetProcess - Agile Project Management & Bug Tracking Software | Download (Project Management Software, Project Tracking, Bug Tracking, Planning, We

TargetProcess - Agile Project Management & Bug Tracking Software | Download (Project Management Software, Project Tracking, Bug Tracking, Planning, Web application)

Automation World Article: Improve competitive quality with extreme programming (Features)

Automation World Article: Improve competitive quality with extreme programming (Features): "The eXtreme Programming methodology advocates a 12-step program to minimize software bugs.The organization’s Web site, www.extremeprogramming.org, discusses these in detail.

1. Develop user stories. These create time estimates for the release planning meeting and are used instead of a large requirements document. They are written by the customers as things that the system needs to do for them.

2. Hold a release planning meeting. A release plan, which lays out the overall project, is created at this meeting. The release plan is then used to create iteration plans for each software version.

3. Create the release plan. This specifies exactly which user stories are going to be implemented for each system release and specifies dates for those releases.

4. Release small pieces of the system to the customers often. This is critical to getting valuable feedback in time to have an impact on the system’s development.

5. Use iterative development. Have a planning meeting at the beginning of each iteration to plan what will be done.

6. Move people around to avoid serious knowledge loss and coding bottlenecks. If only one person on the team can work in a given area and that person leaves, or more things need to be done in that section, the project’s progress can be reduced to a crawl.

7. Code unit test first. Creating a unit test helps a developer to really consider what needs to be done. Requirements are nailed down firmly by tests.

8. Pair up programmers. All code to be included in a production release is created by two people working together at a single computer. Pair programming increases software quality without impacting time to deliver. It is counterintuitive, but two people working at a single computer will add as much functionality as two working separately, except that it will be much higher in quality.

9. Hold a daily stand-up meeting. Communica"

Saturday, September 24, 2005

Wikalong Firefox Extension

Wikalong Firefox Extension

Edgewall Software: Trac

http://www.edgewall.com/trac/

Automated Deployment for Side By Side .NET Web Apps for Visual Studio .NET 2003

15 Seconds : Automated Deployment for Side By Side .NET Web Apps for Visual Studio .NET 2003

Online Database Functions Testing Tool

15 Seconds : Online Database Functions Testing Tool: "Online Database Functions Testing Tool"

Reasons to switch from SourceSafe to Vault

Reasons to switch from SourceSafe to Vault

Windows Shell Extension for Subversion

tortoisesvn.tigris.org: "Windows Shell Extension for Subversion"

ankhsvn.tigris.org

ankhsvn.tigris.org

Versioning Models

Versioning Models

Use Microsoft's Virtual PC to Test Software Before Deploying It

Use Microsoft's Virtual PC to Test Software Before Deploying It

Agile Developer Venkat's Blog - Stages of SDLC

Agile Developer Venkat's Blog - Stages of SDLC

Creating an Outlook Task Add-in Solution with Visual Studio 2005 Tools for Office

Summary: Using new Microsoft Office Outlook 2003 add-in support in Microsoft Visual Studio 2005 Tools for the Microsoft Office System, create Microsoft Office Word 2003 task reports using WordProcessingML and XML expansion packs, and create a context menu for tasks in Outlook. (24 printed pages)

Note This article is pre-release documentation and is subject to change in future releases. Visual Studio 2005 Tools for Office Beta 2 is included with Microsoft Visual Studio 2005 Beta 2.The beta release of Outlook add-in support for Visual Studio 2005 Tools for Office Beta 2 is available separately, by downloading Microsoft Visual Studio 2005 Tools for the Microsoft Office System – Outlook (Beta).

Using Sharepoint 2003 Web Services to retrieve Data from a list

TheServerSide.NET - TSS Featured Entry

Microsoft Outlook 2003 Integration with SharePoint Products and Technologies

Microsoft Outlook 2003 Integration with SharePoint Products and Technologies

Using Excel 2003 to Manage Project Sites with Windows SharePoint Service

Office Developer Center: Visual Studio Tools for the Microsoft Office System: Using Excel 2003 to Manage Project Sites with Windows SharePoint Services 2003

Making SharePoint Web Parts Interact

TheServerSide.NET - Making SharePoint Web Parts Interact

TargetProcess - Agile Project Management & Bug Tracking Software | Home

TargetProcess:Suite 1.3.5 is a web-based integrated agile project management and bug tracking software. It is designed to solve distributed teams problems and support agile development processes like Extreme Programming. Integrated Bug Tracking makes project management more effective, improves overall project traceability and provides consistent snapshot of project state. In general, TargetProcess will help you keep project on track in an agile way.

Thursday, September 22, 2005

An Introduction To Ajax

An Introduction To Ajax

Web Services Transactions specifications

Web Services Transactions specifications: "Web Services Transactions specifications"

Understanding Service-Oriented Architecture

Introduction

It seems probable that eventually most software capabilities will be delivered and consumed as services. Of course they may be implemented as tightly coupled systems, but the point of usage—to the portal, to the device, to another endpoint, and so on, will use a service-based interface. We have seen the comment that architects and designers need to be cautious to avoid everything becoming a service. We think this is incorrect and muddled thinking. It might be valid right now given the maturity of Web Service protocols and technology to question whether everything is implemented using Web services, but that doesn't detract from the need to design everything from a service perspective. The service is the major construct for publishing and should be used at the point of each significant interface. service-oriented architecture allows us to manage the usage (delivery, acquisition, consumption, and so on) in terms of, and in sets of, related services. This will have big implications for how we manage the software life cycle—right from specification of requirements as services, design of services, acquisition and outsourcing as services, asset management of services, and so on.

Over time, the level of abstraction at which functionality is specified, published and or consumed has gradually become higher and higher. We have progressed from modules, to objects, to components, and now to services. However in many respects the naming of SOA is unfortunate. Whilst SOA is of course about architecture, it is impossible to constrain the discussion to architecture, because matters such as business design and the delivery process are also important considerations. A more useful nomenclature might be Service Orientation (or SO). There are actually a number of parallels with object orientation (or OO) and component-based development (CBD):

* Like objects and components, services represent natural building blocks that allow us to organize capabilities in ways that are familiar to us.
* Similarly to objects and components, a service is a fundamental building block that
1. Combines information and behaviour.
2. Hides the internal workings from outside intrusion.
3. Presents a relatively simple interface to the rest of the organism.
* Where objects use abstract data types and data abstraction, services can provide a similar level of adaptability through aspect or context orientation.
* Where objects and components can be organized in class or service hierarchies with inherited behaviour, services can be published and consumed singly or as hierarchies and or collaborations.

For many organizations, the logical starting place for investigating service-oriented architecture is the consideration of Web services. However Web services are not inherently service oriented. A Web service merely exposes a capability that conforms to Web services protocols. In this article we will identify the characteristics of a well formed service, and provide guidance for architects and designers on how to deliver service oriented applications.

Keep Your Code Running with the Reliability Features of the .NET Framework -- MSDN Magazine, October 2005

Automation Samples for Visual Studio .NET 2002

http://msdn.microsoft.com/vstudio/downloads/samples/automation2002/

StickyMinds.com : Better Software magazine : Lessons in Test Automation

StickyMinds.com : Better Software magazine : Lessons in Test Automation

Automating Traceability of Requirements to Test Case and Defect Logs

Tuesday, September 20, 2005

Download ASP.NET Forums

DotNet Nuke Resources

DotNet Nuke Resources

HotScripts.com 4ASPNET POP3 .NET Component

Description: A powerful, cheap and easy to use POP3 .NET component, which allows you to download/parse emails from POP3 server, save attachments, retrieve custom headers etc. Great help with examples (C#), free updates and support.

A .NET Library to dynamically call Web services at runtime.

thinktecture - DynWsLib

Dynamically invoke XML Web Services - significantly improved

GotDotNet User Sample: Dynamically invoke XML Web Services - significantly improved: "It is pure reflection prgramming in .NET.
E.g.
DynamicWebServiceProxy ws = new DynamicWebServiceProxy();
string ns = 'eYesoft.Tools.Web.Services.DynamicProxy.';

ws.WSDL = 'http://localhost/CTWS/Service1.asmx?WSDL';
ws.TypeName = 'Service1';
ws.MethodName = 'GetOrder';

// get all types of the dynamic assembly
Type[] types = ws.ProxyAssembly.GetTypes();
// get a certain type by name - watch out for fully qualified name
Type t = ws.ProxyAssembly.GetType(ns + 'Order');
...

Then create an instance of the type by using reflection.

object result = Activator.CreateInstance(t);
result = ws.InvokeCall();

Christian "

Monday, September 19, 2005

Dynamically invoke XML Web Services - significantly improved

GotDotNet User Sample: Dynamically invoke XML Web Services - significantly improved

Dynamically accessing XML Webservices bypassing the Configuration file - C# WebServices

The Code Project - Dynamically accessing XML Webservices bypassing the Configuration file - C# WebServices

Changing Target Web Service At Runtime

Introduction
While developing clients for web services, we typically add a web reference to the web service by specifying URL of the .asmx file. Adding a web service in VS.NET generates required proxy object. However, it may happen that after adding the web reference the web service is moved to some other location. In such cases the most easy way is to recreate the proxy object. But what if the same thing happens after you deploy your web service client. It would be nice to allow configurable URL so that even if original web service is moved your clients need not be recompiled. In this article we will see how to do just that.

SQL Server 2005 Express Manager June CTP XM

Download details: SQL Server 2005 Express Manager June CTP

klite download kaaza lite download

http://www.klitetools.com/kl27/index.htm

Incoming Mail and PHP | evolt.org

Incoming Mail and PHP | evolt.org

Code Project - POP3 Client as a C# Class - C# Programming

http://www.codeproject.com/csharp/pop3client.aspThe

The Code Project - Retrieve Mail From a POP3 Server Using C# - C# Programming

The Code Project - Retrieve Mail From a POP3 Server Using C# - C# Programming

web_testing_checklist [SoftwareTestingWiki]

Sunday, September 18, 2005

Why I Love My Virtual PCs

MSDE With SQL Web Data Administrator : Authorization

A Review of Error Messages

Michael Bolton: A Review of Error Messages

Effective Beta Testing

Michael Bolton: Effective Beta Testing

Bug of the Month

Gimpel Software Bug of the Month

Software Testing and Quality Assurance Good Articles

Michael Bolton: Visual SourceSafe Defects

Michael Bolton: Visual SourceSafe Defects

The AETG System: An Approach to Testing Based on Combinatorial Design

The AETG System: An Approach to Testing Based on Combinatorial Design

Planning Efficient Software Tests - Oct 97 Madhav S. Phadke

Planning Efficient Software Tests - Oct 97
Orthogonal Arrays

DevelopSense: Pairwise Testing Orthogonal Arrays Explained

DevelopSense: Pairwise Testing

Orthogonal Arrays

Orthogonal Arrays: "Orthogonal arrays are beautiful and useful. They are essential in statistics and they are used in computer science and cryptography. In statistics they are primarily used in designing experiments, which simply means that they are immensely important in all areas of human investigation: for example in medicine, agriculture and manufacturing.

Your automobile lasts longer today because of orthogonal arrays ['The new mantra: MVT', Forbes, Mar. 11, 1996, pp. 114-118.]

The mathematical theory is extremely beautiful: orthogonal arrays are related to combinatorics, finite fields, geometry and error-correcting codes. The definition of an orthogonal array is simple and natural, and we know many elegant constructions - yet there are at least as many unsolved problems.

Here is an example of an orthogonal array of strength 2:

0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 1 0 1 0 0 0
0 1 1 1 0 1 1 0 1 0 0
0 0 1 1 1 0 1 1 0 1 0
0 0 0 1 1 1 0 1 1 0 1
1 0 0 0 1 1 1 0 1 1 0
0 1 0 0 0 1 1 1 0 1 1
1 0 1 0 0 0 1 1 1 0 1
1 1 0 1 0 0 0 1 1 1 0
0 1 1 0 1 0 0 0 1 1 1
1 0 1 1 0 1 0 0 0 1 1
1 1 0 1 1 0 1 0 0 0 1

Pick any two columns, say the first and the last:

0 0
1 0
0 0
0 0
0 1
1 0
0 1
1 1
1 0
0 1
1 1
1 1

Each of the four possible rows we might see there,
0 0, 0 1, 1 0, 1 1,

does appear, and they all appear the same number of times (three times, in fact). That's the property that makes it an orthogonal array.

Only 0's and 1's appear in that array, but for use in statistics

0 or 1

in the first column might be replaced by

'butter' or 'margarine' ,

and in the second column by

'sugar' or 'no sugar' ,

and so on. Or

'slow cooling' or 'fast cooling',
'catalyst' or 'no catalyst',

etc., depending on the application.

Since only 0's and "

The Seven Basic Principles of the Context-Driven School

The Seven Basic Principles of the Context-Driven School

Bret Pettichord's Software Testing Hotlist

Bret Pettichord's Software Testing Hotlist

Measurement issues and software Testing

measurement_segue.pdf (application/pdf Object)

Web service test data generator

testgen.tigris.org: " Web service test data generator"

aut.tigris.org

aut.tigris.org

Saturday, September 17, 2005

Open Testware Reviews Blotter 2004

Open Testware Reviews Blotter 2004

Open Testware Reviews - ALLPAIRS Test Case Generation Tool

Open Testware Reviews - ALLPAIRS Test Case Generation Tool

Wiki: All Pairs Orthogonal arrays

Wiki: All Pairs

CodeGuru: An Automatic Build Number Incrementer for Visual Studio .NET

Each of us who migrate to VS.NET encounters a few bumps in the road. One bump that caught me off guard was that my macros no longer worked.

My existing build number incrementing macro was a combination of bits and pieces of code scavenged from countless authors over the years. Although my build numbering system is not complicated, and does not require features found in similar macros, it will provide a solid foundation to start from.

Goals
These are my requirements for automating build numbers:

On each release build, automatically increment a build number contained in a separate file that will be included into my project.
Automatically track build date and number in a log file.

Friday, September 16, 2005

Embedded Windows Media/Launch.com in Firefox 1.0 - MozillaZine Forums

Full Step-By-Step Guide: Embedded Windows Media & Launch.com in Firefox 1.0
Last Updated: 24th December 2004

This guide has been superceded by newer versions. Go here to find them: http://forums.mozillazine.org/viewtopic.php?t=206216

Microsoft.VisualStudio.TestTools.WebTesting Namespace

The Microsoft.VisualStudio.TestTools.WebTesting namespace supplies classes that enable Web testing. This namespace includes the WebTest class which is the base class for all Web tests. The WebTestRequest and WebTestResponse classes simulate the HTTP requests and responses of the Web pages under test. These classes use the FormPostHttpBody class to simulate the use of form post parameters. Microsoft.VisualStudio.TestTools.WebTesting also includes classes for data binding, test rules, representing Web pages, query strings, HTTP context, and plug-ins that provide a test extensibility function.

Friday, September 09, 2005

Testing Web Applications Articles

Testing Web Applications
This page provides access to a variety of downloadable papers that address testing Web applications. The following topics are considered:

Updater Application Block - Version 2.0

Updater Application Block - Version 2.0

CoLinux Downolad

SourceForge.net: Project Filelist

ObjectWeb - Home Page

grack.com: Bugzilla.NET

Bugzilla.NET

Bugzilla.NET is my Visual Studio.NET <-> Bugzilla integration project. So far it has the ability to query Bugzilla from within Visual Studio and synchronize a set of tasks with a given set of server-side queries.

Wednesday, September 07, 2005

Ruby extentions, unicode

Ruby

KLT Forums -> Download KLT K++ & K-Lite Here kaaza lite download

WindowsBeta.Net

WindowsBeta.Net

Creating a Multi-Boot DVD - MSFN.org

Creating a Multi-Boot DVD - MSFN.org

Windows XP Professional with Service Pack 1 Utility: Setup Disks for Floppy Boot Install

Download details: Windows XP Professional with Service Pack 1 Utility: Setup Disks for Floppy Boot Install

FileForum | Windows XP PowerPacker

http://fileforum.betanews.com/detail/Windows_XP_PowerPacker/1120750090/1

Windows XP PowerPacker 1.0 RC6.1 beta
Publisher's Description:

PowerPacker will help a user create a Multiboot Windows XP disk with or without DriverPacks. It will do almost everything for you, even hex edit the files needed to be hexed, create the boot directory, boot menu, etc. It makes creating multiboot XP disks a breeze.
Latest Changes:

* New File Menu that you can find at the top left of the main window
* Got rid of the ugly picture that was on the right side that made you have to tilt your head and squint your eyes to read it
* Added an UnDocumented option that you can add to your ini file

Monday, September 05, 2005

Latest Windows Drivers for 878-based WinTV boards

http://www.hauppauge.com/pages/support/support_pci_878.html#drv

Microsoft Windows Installer Cleanup utility

Very helpful indeed.

http://download.microsoft.com/download/E/9/D/E9D80355-7AB4-45B8-80E8-983A48D5E1BD/msicuu2.exe

Privoxy - Home Page

Privoxy - Home Page

Privoxy is a web proxy with advanced filtering capabilities for protecting privacy, modifying web page content, managing cookies, controlling access, and removing ads, banners, pop-ups and other obnoxious Internet junk. Privoxy has a very flexible configuration and can be customized to suit individual needs and tastes. Privoxy has application for both stand-alone systems and multi-user networks.

Privoxy is based on Internet Junkbuster (tm).

The most recent release is 3.0.3 (stable).


Friday, September 02, 2005

Building a SOAP Client

* Proxy Classes and Web References
o Creating a Web Reference
o Renaming the Web Reference
o Viewing the Web Reference Files and Properties
o Using a Proxy Class
* XML Web Service Clients
o Creating the Windows Forms Client
o Creating the Web Forms Client
o Creating the Console Client
o Chapter 4 Quick Reference

Designing a Test Environment: General

Designing a Test Environment: General

Load Testing Terminology

TTN On-Line Edition for September 2002: "Load Testing Terminology by Scott Stirling (scott.stirling@workscape.com) Introduction What is the difference between load, stress and performance testing? Why do these three types of testing seem to belong together, perhaps with others such as scalability testing and benchmarking? Questions such as these, which I have encountered in my own career as sometimes load tester, on Web forums and in discussions in the workplace, are what this article purposes to answer. It would be nice to point to some seminal piece of QA literature that settles these questions definitively, but surprisingly, this is not possible. The use of these terms in the QA literature varies to the point that sometimes load testing is defined as a type of performance test, or performance test is a type of load test, or (somewhat common, actually) load testing is not worth mentioning explicitly. To what degree definitions proposed in the literature have been arrived at independently versus influenced by or directly based on previous published definitions is impossible to tell. The signature characteristic of background, performance and stress testing is that they all require some kind of definite workload (the terms 'workload' and 'load' are interchangeable in this context) exercising the system or component under test (SUT or CUT) during testing. Load is an indispensable part of the test set up for all these types of testing. There are notable exceptions where simulated load is crucial to other types of testing, such as aspects of security testing, where it may be required to simulate load- related conditions giving rise to security problems (such as a buffer overrun or denial-of-service). Reliability testing sometimes requires load as a prerequisite to measuring realistic, time-dependent phenomena such as mean-time- between-failures (MTBF) in transaction or batch processing systems. But reliability is a concern for other criteria, such as functional accuracy "

Stress Testing Web Applications

Stress Testing Web Applications

Stress Testing Web Application using Microsoft's Web Application Stress Tool

Load Balancing and your Web applications

Running an application on more than one machine introduces potential challenges into the design and layout of the application. If you're Web app is not 100% stateless you will run into potential problems with resources required on specific machines. You'll want to think about this as you design your Web applications rather than retrofitting at the last minute.



For example, if you're using a Visual FoxPro backend and you're accessing local FoxPro data in any way, that data must be shared on a central network drive in order for all of the cluster servers to be able to access those files. This includes 'system' files of the applications itself – in Web Connection this would mean things like the log file and the session management table, which would have to be shared on a network drive somewhere. It can also involve things like registry and INI file settings that may be used for configuration of servers. When you build these types of configurations try and build them so that the configuration information can be loaded and maintained from a central store or can be replicated easily on all machines.



If you're using Active Server Pages, you'll have to know that ASP's useful Session and Application objects will not work across multiple machines. This means you either have to run the cluster with Single Affinity to keep clients coming back to the same machine, or you have to come up with a different session management scheme that stores session data in a more central data store such as a database. I personally believe in the latter because most e-Commerce applications already require databases to track users anyway for traffic and site statistics. Adding Session state to these files tends to be trivial without adding significant overhead.



Finally, load balancing can allow you to scale applications with multiple machines relatively easily. To add more load handling capabilities just add more machines. However, remember that when you build applications this way that your weakest link can bring down the entire load balancing scheme. If your SQL backend which all of your cluster nodes are accessing is maxed out, no amount of additional machines in the load balancing cluster will improve performance. The SQL backend is your weakest link and the only way to wring better performance out of it is to upgrade hardware or start splitting databases into separate servers. Other Load Balancing software like Resonate and Local Redirector also have to worry about bottlenecks in the IP manager machine that routes IP requests. NLBS is much better in this respect than many other Load Balancing solutions that require a central manager node since NLBS uses every machine in the cluster as a manager that communicates with the others and every machine is an equal helping in the pickup of IP requests.

Bug Reports That Make Sense

StickyMinds.com : Article info : Bug Reports That Make Sense

Bug Movie

Thursday, September 01, 2005

Bug Tracker - Requirement Management, Issue Tracking and Bug Tracking Software - Agility - Home

Bug Tracker - Requirement Management, Issue Tracking and Bug Tracking Software - Agility - Home

Automation or Not, It�s All About the Data

Testing: Column info : Automation or Not, It�s All About the Data

Testing XML

Testing: Article info : Testing XML

Framework for WinRunner Available for Free as GNU Lesser Public Licence

Testing: Link info : Framework for WinRunner Available for Free as GNU Lesser Public Licence

Effort Estimating for Test Automation Projects

By Babu Narayanan
Aug 18, 2005

Summary: "The subject of software estimating is definitely a black art," says Lew Ireland, former president of the Project Management Institute. As you know, estimating is more of an art than a science, and inherently more prone to the negative aspects of human biases. So bare with me, if am awry in my estimation exercise. These are the lessons learnt out of my experiences which describes in detail the following key areas for effort calculation:
Candidates for test automation.
Factors that affects test automation estimation.
Grouping steps to determine complexity.
Framework design and estimation.
Scripting effort estimation.

Tim Weaver : NUnit with ASP.NET Context

NUnit with ASP.NET Context

Recently a bug was found in one of our components. Okay, so finding a bug isn't unusual, however what made this one stand out was that the component in question had over 70% code coverage with NUnit tests and it still wasn't found. Turns out the bug was related to the very small percent of code that relies on ASP.NET Context. The code isn't covered by our NUnit tests because frankly it is really hard to deal with ASP.NET context through unit tests.

I decided I wanted a way to get better coverage. Specifically I wanted to execute the code dependent on ASP.NET context. A quick google search turned up a few examples of how other people have tackled this. I took some of the examples I found and extended them to meet my requirements.