Finding a sailboat

Finding a sailboat, especially a cruising sailboat you hope to take over the horizon someday, is a hard task.  A lot harder than you think. I've spent a good deal of time the last few years (off and on, ever since coming back from Fiji in 2005) doing just that.  I admit that it hasn't … Continue reading Finding a sailboat

Verification and Exploration

There's a move towards separating what testers do into two categories, called by some "testing" and "checking".  I don't particularly like the terminology (or most attempts to redefine words), but I appreciate the distinction, as well as the reaching towards semantic clarity. The distinction being that there are two unique activities that are called testing. … Continue reading Verification and Exploration

SugarCRM, custom fields, and complex objects

LornaJane has a good write-up on using custom fields with SugarCRM. But I have a client that needs complex fields.  For instance, email_address has the following fields: +--------------------+--------------+------+-----+---------+-------+ | Field              | Type         | Null | Key | Default | Extra | +--------------------+--------------+------+-----+---------+-------+ | id                 | char(36)     | NO   | PRI | NULL    |       | | … Continue reading SugarCRM, custom fields, and complex objects

A new model for CRM (*groan*)

I'm using SugarCRM, which is nice, but seems to have a confused model for contacts, accounts, leads, etc. I realize that this is the "standard" CRM way to describe entities, but can't help but think it could be improved. SugarCRM has a few oddities that make it particularly grating.  For instance: Last Name is required … Continue reading A new model for CRM (*groan*)

Automated testing is a craft

Automated testing is a craft.  It requires skill, training, and at least a bit of talent.  I guess it's like everything else in that sense.  But it's unlike everything else in that you are doing automated testing.  Not a lot of people do that. There are way more people that writing code or do testing … Continue reading Automated testing is a craft

Interacting with SeleniumRC directly

In my previous post, I talked about launching Selenium RC from the command line.   I'd mentioned navigating to http://localhost:4444/ after starting the Selenium Server but removed it since it wasn't directly pertinent to a getting started post.  Here's the removed content: You can launch selenium-server in "interactive" mode and enter commands directly from the command … Continue reading Interacting with SeleniumRC directly

Transitioning from Selenium IDE to Remote Control

I recently wrote a blog post about writing higher level test cases using Selenium RC https://fijiaaron.wordpress.com/2009/09/02/selenium-page-objects-site-objects-data-objects-high-level-navigation/ If you are just transitioning from using Selenium IDE, it might be a bit abstract for you. To start with, you need to decide which platform you are targeting: What programming language you plan on using? (Selenium supports Java, … Continue reading Transitioning from Selenium IDE to Remote Control

Open Source and Commercial CRM solutions

I'm looking over the market at Customer Relationship Management (CRM) solutions. First what are the aspects of a CRM? The term is a bit vague, and fairly abused, so that it has come to mean, generally, "business applications" including those used for sales & marketing, enterprise resource management (ERP - another abused term), business contact … Continue reading Open Source and Commercial CRM solutions

My best Engrish for Chopping Block!

My wife picked up one of these at the dollar store: It says: USE WEARPROOF AND CORROSION- RESISTING PLASTIC.  MORE CLURABLE THAN THE WOOD ONES. MORE HARD AND USE MORE LONG. EASILY WASH AFTER USE. THE PRODUCTS WILL NOT BE WAR- PED FOREVER. Definitely a candidate for http://www.engrish.com

Selenium Page Objects + Site Objects, Data Objects & High Level Navigation

Page Objects are gaining popularity when writing Selenium tests, and I'm glad to see people advocating for, and teaching them.  But I think that's just the start. With a page object you can have tests that look like this: testChangePassword() { browser.open("http://one-shore.com/login"); verifyTextPresent("Enter your username and password"); LoginPage.login("bob", "secret"); verifyTextPresent("Welcome, Robert"); HomePage.goTotPreferences(); PrefsPage.changePassword("secret", "moresecret"); verifyTextPresent("Password … Continue reading Selenium Page Objects + Site Objects, Data Objects & High Level Navigation