October 2007
AYE Conference Next Week!
The AYE Conference is next week and I’m very, very excited about it! I will be there, doing several sessions. Dave Smith and I are doing a session on Renegotiating where participants will be playing the “Renegotiate” game - a game that Dave and I created. I will also be running my WordCount simulation in my session titled Reflect and Adapt. And I’ll be running a fun session on using our worst...
Which Version Of Python Ships With Mac OS X...
I am not a Mac user, but in case anyone is interested in knowing which
version of Python ships with OS X Leopard, the answer is Python
2.5.
(via Goldblog)
Doctors Are Testers Too
Jerome Groopman’s book How Doctors Think is about doctors and how they think. It is also about testers and how we think. I find this to be true of most every book I read: regardless of its official intent, I find some relevance to testing. Such is certainly the case here.
I might have titled this book Why Doctors Forget To Think, for I found it to be as much about why doctors get stuck on a...
Learn The Ideals And History Of Free And Open...
There are lots of resources available online to
learn about Free and Open Source Software.
If you want to understand the essence and ideals of this movement, a great start would
be to read the following 4 books. After reading these, you will have a good grasp
of the history and philosophy of freedom in the technology world.
Free as in Freedom: Richard...
Do you document your test cases?
We are debating the value of software testing standards right now on the context-driven testing list. Here’s my latest post … >and by the same token writing test cases doesn’t make >your testing worth any more than if you wrote >NOTHING AT ALL. For the broad, general case, James, I agree with you. However, (to borrow a phrase) can you imagine a situation where this is...
TMail 1.1.0 Gem Released
I have been using TMail for testing e-mail functionality of web application that I test for a long time. But, development of that library stopped at 2004. Today I found out that it is again in development. Take a look at it’s web site and RubyForge project site. (via Željko Filipin’s Blog on Software Testing)
Just One Change Per Retrospective
A core part of Scrum and many other Agile methodologies is ‘inspect and adapt.’ Retrospectives are a key practice in reviewing the last iteration. You toss up on stickies or a white board the ‘What Went Well’ and ‘What To Look Into.’
Diana Larsen held a session at the end of Agile Open California on retrospectives and suggested two key ideas on how to take action after a retrospective:
Pick...
Equivalence class partitioning - Part 1
Wow…where does the time go? I was remiss last week in posting, and it has been a month since I posted about equivalence class partitioning. So, let’s get back to it shall we? Equivalence class partitioning (ECP) is a functional testing technique useful in either black box or white box test design. A technique is a systematic approach to help solve a complex problem. Techniques are not...
Links for 2007-10-30 [del.icio.us]
New strain of Gozi Trojan prowls the net | The Register
(via drivenqa)
TotT: Avoiding friend Twister in C++
(resuming our testing on the toilet posts…) In a previous episode, we extracted methods to simplify testing in Python. But if these extracted methods make the most sense as private class members, how can you write your production code so it doesn’t depend on your test code? In Python this is easy; but in C++, testing private members requires more friend contortions than a game of...
Follow up: Call for posts...
Looks like there some strong support for having the community post on this blog. Great! Please send submissions to testengteam at gmail.com. In the subject line please prefix with “blogme:” to aid in spam filtering. See the 3 basic rules in the previous post. Looking forward to opening up to your great ideas. (via Google Testing Blog)
Everyday Scripting with Ruby Arrived
Long long time ago, I was reviewer of Brian Marick’s Everyday Scripting with Ruby. On February 2, 2007 Pragmatic Programmers said they would send me a free copy, but it did not arrive for a long time. I exchanged a few e-mails with them, and today the book arrived. I did not even have time to unwrap it yet. (via Željko Filipin’s Blog on Software Testing)
New strain of Gozi Trojan prowls the net | The... →
Scrum Master Stand In
A sign of team self-management success is when the Scrum Master is out or busy and someone just fills in. I’ve known one of our Scrum projects was moving along pretty well, but our organization still has a tendency to try to have another PM fill in at the daily standup. In the old command and control phase this made sense, but with a self-managing team it just becomes a minor impediment. Today...
When is a Bug a Story?
People often recommend that you treat a bug as a story. On agile projects, if you find a bug, the recommendation is that you add it to the product backlog and allow the product owner to prioritize it. I think this approach is incorrect. We’ve found a better way to handle them.
There are actually two kinds of bugs. Some are just defects. There is a flaw in a story that was completed. The bug...
Microsoft Tester Center
Microsoft announced it’s new ‘community’ for software testers last week at STARWest. The ‘community’ (which is a fancy name for a combination webzine, blog, and forums) is located here. Cynical people will point out that this is Microsoft’s attempt to win the hearts and minds of software testers, thus, in five years, increasing the number of QA Managers who...
How to Identify the Usual Performance Suspects
When You’re Out to Fix Bottlenecks, Be Sure You’re Able to Distinguish Them From System Failures and Slow Spots By Scott Barber
Bottlenecks are likely to be lurking in your application. Here’s how you as a performance tester can find them.
So you found an odd pattern in your scatter chart that appears to be a bottleneck. What do you do now? How do you gather enough information...
Bad Code Metric - Crap4J
A single number representing whether you’re six months worth of coding is actually not crap. Not code coverage, Checkstyle warnings or defects per thousand lines of code but a single score.
Alberto Savio of Agitar Software presented on his new Crap4J tool at an Agile Open California session this week. Crap4J produces a single number defined by the following equation:
CRAP(m) = comp(m)^2 (1 -...
Want to Learn .NET My Future Tester-Developer...
I’ve spouted off before why
I think being a tester-developer is important. Do you want to work your way into
being a .NET Tester-Developer? Microsoft is trying to make it easy as pie for
us. With videos
targeted at the beginner with ZERO experience this is a perfect opportunity
for you to dive in and start down the path of Tester-Developer.
Are the videos too slow for you speedy QA mind?...
Call for posts...
Posted by Patrick Copeland, Test Engineering Director I’d like to offer the readers a chance to post their ideas on this blog. To keep this simple I only have 3 rules: no commercial postings or links to commercial sites, post need to be interesting and practical ideas relating to testing, and posts need to be proof read and reviewed on your end before submitting. I’ll read the potential posts...
Freelance Testers - a smarter, cost effective way...
ITnews had an article recently on startups. It examines what to look for in a startup, and also how to minimise the risks. Here’s an excerpt:
‘A startup’s immaturity will be reflected in the quality and capabilities of its product. As you would when considering an established vendor, a CIO must conduct technical due diligence….You can […] (via Testing Times)
Java 1.6 No Show For Leopard
Assumption was soon after installing the developer tools for Mac OS X 1.5 Leopard I’d have a brand new spanking copy of Java 1.6 on my MacBook Pro.
$ java -version
java version "1.5.0_13"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05-237)
Java HotSpot(TM) Client VM (build 1.5.0_13-119, mixed mode, sharing)
OK, surely it’s just defaulting there. Nope, no 1.6 version. No...
"Please change your free service"
I prefer not to rant on this weblog, because I don’t find ranting very becoming; however, there are a few hot-button issues that I want to rant about, and so here it is. I promise it will be brief.
I know, like and respect Reg Braithwaite-Lee, who writes here. Frankly, I don’t understand everything Reg writes about, but I love his enthusiasm and I often learn from him. All the more reason,...
A call for code for "Refactoring: Where Do I...
I am running a session entitled Refactoring: Where Do I Start? at the first Agile Development Practices conference. Although I plan to speak for a few minutes, I’d like to spend most of the time answering your questions and refactoring some real code on stage. As a result, I’d like your code! I have a sample code base to refactor, but I’d rather refactor your code, to show everything that goes...
Starting a peer workshop
Someone recently emailed me and asked me about starting their own peer workshop. I have a small amount of experience in the topic. I’ve run a number of IWSTs (a small local workshop) and two WOCs (a longer three-day workshop). I’ve attended many other peer workshops, including WHET, WOPR, WOCT, STMR, STiFS, and AWTA. They are all in some way or another in the LAWST-style.
Here are...
Seven Keys for a Successful Automation Project
I found a great article over at the Google Testing Blog entitled Automating
tests vs. test-automation. The article does a great job of summing up
some things about automation that I had to learn myself over the years. The last
set of bullets is oh-so-true, and if you are starting down the
automation project path be sure to heed the advice:
To summarize, I figured out that a successful...
XSSDetect: A Static Analysis Tool for Detecting...
The ACE
TEAM over at Microsoft has released a tool that does static analysis for cross
site scripting (XSS). Confused about what a static analysis tool is? The ACE TEAM
explains it well:
There are two types of web application vulnerability scanners:
dynamic and static. Dynamic analysis tools are also called penetration testing tools.
You point such a tool at a live application; the tool begins...
Visualizing Complexity and Coverage
At CITCON Europe in Brussels last week one of the sessions I enjoyed was on CRAP4J and other metrics for bad code. (I’ve put my notes up on the CITCON wiki.) Today Kevin reminded me that Clover has a similar metric for identifying risky code, a tag cloud that uses complexity to size the tag and the coverage level to color it. They have posted a sample using Lucene here. This is a pretty neat...
Technical Debt - III
I promised to offer three ways to limit technical debt – Personally, how to impact members on the team you contribute on, and how to impact members on the team you manage. I would like to start with the first. Please be aware: This is not a guide to managing your manager, but how to avoid sticking yourself in the victim role. This is about how to do good work that you are proud of, so you can...
warning: toplevel constant File referenced by...
I want to delete a file from Application::Mail.download. The problem is that inside Application module, File.delete calls Application::File.delete.
module Application
class File
def delete
end
end
class Mail
def self.download
File.delete “mail.eml”
end
end
end
Application::Mail.download
Run this code and you will get error message: Exception: undefined...
Lauren Snyder presents an Introduction to Watir
Tuesday evening I had the opportunity to attend my first Phoenix
Software Quality Association meeting (PSQA) where another Rock-Star GoDaddy
employee Lauren Snyder presented an ”Introduction To Watir”. It was really great
to see her enthusiasm for automation and on top of that she is a great presenter.
The presentation provides a HEAP of information about Watir and
would be valuable...
How Would Pareto Learn Python - Dealing with Base...
In the earlier post on data types, we finished discussion about Numeric types and Booleans. We also had a first look at strings.Till now, we have been using the terms sequences, mappings, lists, tuples etc. at places. It’s now high time that we discuss about them. This and a couple of next posts will discuss the two important data types - Sequence Types and Mapping Types.
What is a...
10 pounds, 1.5 ounces later
puppies. 10 of them. 3 boys, 7 girls. 5 yellow, 5 black. All the boys are black. pictures later.
(via A Test Guy)
Crap4j 1.1.3 released
A new version of crap4j has been uploaded to it’s new home at http://www.crap4j.org/! Please check it out and give us your feedback!
Read the full blog entry
(via Developer Testing (RSS 2.0))
Python - List Comprehensions Leak Variables
On thing to remember when using List Comprehensions is that they “leak” their temporary
iteration variable to the outside.
what does that mean?
In the following example, we still have access to ‘x’ after we run the list comprehension.
foo = ['a', 'b', 'c'] my_list = [x for x in foo] print
x
output:...
Writing Multiple Choice Test Questions
This is a tutorial on creating multiple choice questions, framed by Haladyna’s heuristics for test design and Anderson & Krathwohl’s update to Bloom’s taxonomy. My interest in computer-gradable test questions is to support teaching and learning rather than high-stakes examination. Some of the design heuristics are probably different for this case. For example, which is the...
Rampant Reactions
Recently I read Eugene Kennedy’s On Becoming A Counselor, and currently I am immersed in Jerome Groopman’s How Doctors Think. Both authors make a point which I have been concurrently learning via other avenues as well: my emotional state Big Time affects how I perceive and react to life. Where “life” means any of my developers, my program managers, other testers on my team,...
Automating tests vs. test-automation
Posted by Markus Clermont, Test Engineering Manager, Zurich In the last couple of years the practice of testing has undergone more than superficial changes. We have turned our art into engineering, introduced process-models, come up with best-practices, and developed tools to support our daily work and make each test engineer more productive. Some tools target test execution. They aim to automate...
The Tester Wind-up
We testers have a wind-up.
No, not wind-up as in wind us up and watch us go like a little Chihuahua
nipping at the heels of software…
I’m talkin’ rear back on the haunches, LOAD UP, and DELIVER:
Except in my software testing mind I see it more like this:
My wind-up consists of:
Gathering requirements
Writing test cases
Getting to know the application
...
How Would Pareto Learn Python - Controlling the...
In the previous posts, we had a look at the need for control structures. We discussed conditional execution in contrast to sequential execution. We also saw how we can make a while looping construct. In this post, we will see the for looping construct in detail.
Is the for looping construct in Python similar to other languages?
The concept is same, but the way you achieve it is different.
A ...
The essence of testing on agile projects
‘Capturing the essence’, or ‘core’, has been a key theme in some of my work recently, and in several of the books I’ve been reading. So over a drink with Michael Ruschena tonight a couple of these came out as we linked ‘the core’, ‘agile’, and haiku - poetry that captures the essence. I’ve been coaching a team around testing on agile...
Links for 2007-10-23 [del.icio.us]
Noncertified IT pros earn more than certified counterparts: survey - Network World
The value of IT certifcation looks like to be on a decline, yay!
(via drivenqa)
Noncertified IT pros earn more than certified... →
The value of IT certifcation looks like to be on a decline, yay!
From The Web: "Noncertified IT pros earn more..."
Stop the presses! Can it be true? The industry wants effective, qualified, multi-dimensional people who are capable of understanding business drivers & risk mitigation and applying that in a sapient way to their job as opposed to folks who paid someone to teach them how to pass a multiple-choice exam?!? Amazing!
Noncertified IT pros earn more than certified counterparts: survey (via...
Watir 1.5.3 Released
Bug fixes and minor cleanup. Read more at Watir wiki. (via Željko Filipin’s Blog on Software Testing)
Test Case Passed! Who cares?
This will take away at least 8 minutes and 24 seconds of your time, so please be careful if you’d like to spend your time on a thing that potentially has a risk of not yielding any good thing for you as a tester. Maybe you might want to continue executing test cases instead of going through this. Click on the image to waste 8 minutes and 24 seconds. You are lucky if you don’t have a MS...
Testing Job: Developer in Test/Test Engineer
Company: ISI Job Title: Developer in Test/Test Engineer
Description ”We are looking to add a Developer in Test/Test Engineer to our team
here at ISI. We are a product development shop in the POS for Quick Lube and Car Wash
industry. We are continuously getting better at producing our products in a Lean/Agile
fashion.
We are looking for a test infected developer to help us jump...
LogiGear's Hans Buwalda to Present Keyword Test...
Learn How to Successfully Manage Keyword Automation Projects
Hans Buwalda, Chief Architect at LogiGear Corporation and co-author of Integrated Test Design and Automation, will offer a software test automation tutorial for software QA professionals at the upcoming Software Testing Analysis & Review Conference (STARWEST), at the Disneyland Hotel in Anaheim, CA, October 22 - 26, 2007.
...
Classic Article: Getting Automated Testing Under...
A practical approach to test development and automation By Hans Buwalda and Maartje Kasdorp
Testing of systems is probably the most difficult task there is in IT - especially if you want to execute the tests automatically. We make our living running test projects for customers, and have experienced many of the potential problems in testing and test automation ourselves:
Testing costs time and...
Tester Central
I am excited to announce that as of now MSDN has a Tester Center! Here you will find articles, blogs, videos, the Software Testing Discussion Forum, plus an aggregation of all the testing-related Microsoftie-run blogs we know about. Head on over for all sorts of testing goodness! (via The Braidy Tester)