Prior Articles
- Using SpecFlow to drive Selenium WebDriver Tests
- Meme Monday: My First Blog Post
- Performance Impacts of Unicode, Equals vs LIKE, and Partially Filled Fixed Width
- Continuous Delivery - Dashboard, QA and Production Deployment
- Continuous Delivery - Adding an Automated Interface Test Stage
- Continuous Delivery Project - Deploy and Smoke Test
- Continuous Delivery Project - Incorporating the Unit Tests
- Continuous Delivery Project - Making MVCMusicStore Testable
- Continuous Delivery Project - Setting up Continuous Integration
- Starting a Continuous Delivery Project
- Using T4 templates for Centralized Javascript
- CSS, Javascript, T4 Templates, and Less, Oh My
- Automated Web Testing with Selenium WebDriver
- Automated Web Testing with Selenium IDE
- Getting Started with JavaScript Unit Testing
- Using Code Katas to Improve Programming Skills
- Using T-SQL OUTPUT and MERGE To Link Old and New Keys
- 'LocalSqlServer' Error Deploying WebSecurity in WebMatrix/Web Pages
- The History of HTML Table Layouts
- What Gordon Ramsay Can Teach the IT Industry
- Building a Lightweight Project Management Process
- From Eli's Shelves: Books for IT Architecture
- WebMatrix - Routing and Magic Pages
- What Does a Web Developer Need To Know
- The Many Functions of WebMatrix
- Productivity Is Not The Only Measurement
- My 'High Standards' for Software Development
- From Eli's Shelves: Books for IT Management
- The Stand-up Desk - Year Two, Version Two
- Process Kills Developer Passion...and Kittens, Lots of Kittens
- From Eli's Shelves: Books for Software Architecture
- SQLAzure - My First Cloud
- From Eli's Shelves: Books for Developers
- Have you Tried Out Microsoft TFS 2010?
- Adding User Emulation to an Application
- The Programmer vs The Developer
- Next Steps (and new Opportunities)
- Product Selection, Reviewing the Process
- Product Selection, Evaluation
- Product Selection, Requirements and Scoring
- Product Selection, Identifying Needs
- Better Late Than Never, My 2011 Goals
- Clean Code and Project Failure (or Risk is not Boolean)
- Unit Testing Costs Too Much - Too Many Things To Learn
- Unit Testing Costs Too Much - Twice The Code = Value?
- Raleigh Code Camp Followup
- Unit Testing Costs Too Much
- Virtual Lab Tip: Notifications from Windows Event Log
- Why (and How) I Model
- SQL Saturday #46, Raleigh NC
- SQL Server Types - Numeric vs Int
- SQL Saturday 28, Baton Rouge
- Creating a Conceptual Data Model
- Resources for Professional Development
- Model-View-Presenter: Looking at Passive View
- Virtual Lab: Setting up Database Mail on SQL Server 2008 R2
- IF and IIF in VB.Net
- Virtual Lab: 2008 R2 Domain Controller - Basic Tasks
- Virtual Lab: Creating a 2008 R2 Domain Controller
- Virtual Lab: Creating the Basic SQL 2008 R2 Virtual Machine
- Building the Virtual Lab: VMWare and MS Windows 2008 R2
- There Is Never Time For ... (Part 3)
- There Is Never Time For ... (Part 2)
- There Is Never Time For ... (Part 1)
- IT: Beyond the 'Right Now' Problem
- SQL Saturday 33 - Charlotte, NC
- A Quick Beginners Look at SEO
- Trying the Stand-Up Desk
- 2010 Goals for Eli (Tarwn)
- Attributes of an IT Department
- Applying Kanban to IT Processes (Part 5)
- Applying Kanban to IT Processes (Part 4)
- Applying Kanban to IT Processes (Part 3)
- Applying Kanban to IT Processes (Part 2)
- Applying Kanban to IT Processes (Part 1)
- Visual Studio - MetalScroll Add-On
- LessThanDot Redesign - Here We Go
- LTD Re-Design Tidbit #2
- LTD Re-Design Tidbit #1
- LessThanDot Re-Design
- An Invisible Project is a Failed Project
Recent Blog Posts
These are recent blog posts I published at LessThanDot. I tend to post on IT process improvement and personal growth topics, but occasionally I will add technical posts as well.
Using SpecFlow to drive Selenium WebDriver Tests
SpecFlow is a .Net library that allows us to describe user expectations in a consistent Domain-Specific Language that can be wired for automatic execution. By writing executable tests in a human readable manner, our tests can serve as a bridge between the users expectations and the code we produce to meet them.
This post will walk through the benefits and high level details of these methods before diving into a practical example of implementing several tests against the MVC Music Store site from my
Meme Monday: My First Blog Post
Denis started us off earlier with his Meme Monday post, "Meme Monday: what is the first blogpost you wrote and when did you write it?".
This is a tricky question for me, mostly because my memory is poor and I'm having difficulty bending google's time search to my will.
...Performance Impacts of Unicode, Equals vs LIKE, and Partially Filled Fixed Width
Several weeks ago I was refreshing my memory on some nvarchar/varchar tradeoffs when I ran into a post by Michael J Swart (blog|twitter) where he shared the results of investigating a performance problem in one of his live environments. After changing many...
Continuous Delivery - Dashboard, QA and Production Deployment
Automating the deployment of software to the various test, QA, and Production environments streamlines the software delivery process, provides a well-practiced routine prior to the production deployment, and removes a lot of the risks that come with depending on people's memories and checklists in order to get a working production push. Automating the deployment also makes the process more repeatable and less prone to error, simplifying the creation or recreation of an environment not just for the current release, but for past releases as well.
This is the final post in a multi-pa...
Continuous Delivery - Adding an Automated Interface Test Stage
Human beings are good at creative tasks. Put an end user in front of an interface and ask them to find an error and good luck stuffing that particular cat back into the bag. Where we don't perform as well is performing those tasks repetitively. After several cycles we begin to lose focus, start listening more to our expectations than what we are actually seeing in front of us, gradually forget steps, or worse lose track and have to restart from the beginning. By automating the redundant tasks, we play to the strengths of the computer and free the human to return to creative duties.
<.../>




