Source blog: Robert V. Binder
Hello world!
Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!
How to Ice the Testing BackBlob
How Agile development is being eaten by the Testing BackBlob and what to do about it
Hello world!
Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!
Another Day, Another $440 Million
A “rogue algorithm” is widely reported as resulting in a $440 million loss for leading NYSE broker-dealer Knight Capital Group. So where did this rogue come from? Did it sneak in while no one was looking? Beat up the guards and smash down the doors? Did some software suddenly go postal after too much stress? Did a spike in the power [...]
Another Day, Another $440 Million
A “rogue algorithm” is widely reported as resulting in a $440 million loss for leading NYSE broker-dealer Knight Capital Group. So where did this rogue come from? Did it sneak in while no one was looking? Beat up the guards and smash down the doors? Did some software suddenly go postal after too much stress? Did a spike in the power [...]
Who Spun the Web?
Gordon Crovitz’s Wall Street Journal editorial “Who Really Invented the Internet?” (July 23, 2012) generated a lot blowback owing to factual errors in his recounting of how certain network technologies were developed. As he used this story to support a broader case for limited government, the responses were often vituperative. Although Crovitz was wrong on some of [...]
Who Spun the Web?
Gordon Crovitz’s Wall Street Journal editorial “Who Really Invented the Internet?” (July 23, 2012) generated a lot of blowback owing to factual errors in his recounting of how certain network technologies were developed. As he used this story to support a broader case for limited government, the responses were often vituperative. Although Crovitz was wrong on some [...]
The Happy Path to Showstoppers
Why do big systems fail even after they've been tested? Commonly used happy-path testing routinely misses showstoppers. A multi-dimensional testng strategy does a much better job of shining a light on the dark corners where high-stress showstopper bugs hide.
The Happy Path to Showstoppers
Every time I read about another high profile system outage, I wonder what was missed during development and testing. For example, although an unusual natural disaster triggered the recent Amazon cloud services outage, the root cause was a lurking bug that could have been revealed with a testing strategy that I (and others) have advocated for over twenty [...]
Stop the Madness
Big system crashes are not like bad weather. They are not the work of invisible gremlins. They can be prevented. Reading reports about the Amazon cloud outage of a few days ago, it is apparent that while unusually bad weather triggered … Continue reading →
A Systematic Methodology for Testing Mobile Apps
I’ve developed a systematic methodology to design a mobile app test suite and offer an online course that teaches this methodology. http://www.udemy.com/how-to-test-mobile-apps/ The course assumes manual testing, but is completely applicable to testing with any automated tool. Click here to … Continue reading →
A Systematic Methodology for Testing Mobile Apps
I’ve developed a systematic methodology to design a mobile app test suite and offer an online course that teaches this methodology. http://www.udemy.com/how-to-test-mobile-apps/ The course assumes manual testing, but is completely applicable to testing with any automated tool. Click here to view the course notes, which incude a list of specific design techniques and some background [...]
A Systematic Methodology for Testing Mobile Apps
I’ve developed a systematic methodology to design a mobile app test suite and offer an online course that teaches this methodology. http://www.udemy.com/how-to-test-mobile-apps/ The course assumes manual testing, but is completely applicable to testing with any automated tool. Click here to view the course notes, which incude a list of specific design techniques and some background [...]
Panel Discussion on Open Source Testing Tools
A few days ago, I participated in a panel discussion on using open source tools for testing at the QUEST conference with the two founders of Selenium: Jason Huggins of Sauce Labs and Simon Stewart of Google. Before the panel … Continue reading →
Panel Discussion on Open Source Testing Tools
A few days ago, I participated in a panel discussion on open source tools for testing at the QUEST conference with the two founders of Selenium: Jason Huggins of Sauce Labs and Simon Stewart of Google. Before the panel started we chatted a bit with the moderator. We couldn’t come up with any contentious issues, so [...]
Panel Discussion on Open Source Testing Tools
A few days ago, I participated in a panel discussion on open source tools for testing at the QUEST conference with the two founders of Selenium: Jason Huggins of Sauce Labs and Simon Stewart of Google. Before the panel started we chatted a bit with the moderator. We couldn’t come up with any contentious issues, so [...]
Technical Equity or Technical Debt: Stay Fit or Get Flabby
Technical Debt refers to aspects of a codebase are incomplete, defecient obsolete, or buggy. This can occur for many reasons: insufficient time, uncertainty, omissions, poor workmanship, or poor management. This is termed “debt” because it will take additional time and … Continue reading →
Technical Equity or Technical Debt: Stay Fit or Get Flabby
Technical debt refers to aspects of a codebase are incomplete, deficient, obsolete, or buggy. This can occur for many reasons: insufficient time, uncertainty, omissions, poor workmanship, or poor management. This is termed “debt” because it will take additional time and money to correct, update, or revise. Technical equity refers to aspects of a codebase that facilitate its [...]
Technical Equity or Technical Debt: Stay Fit or Get Flabby
Technical debt refers to aspects of a codebase are incomplete, deficient, obsolete, or buggy. This can occur for many reasons: insufficient time, uncertainty, omissions, poor workmanship, or poor management. This is termed “debt” because it will take additional time and money to correct, update, or revise. Technical equity refers to aspects of a codebase that facilitate its [...]
Technical Equity or Technical Debt: Stay Fit or Get Flabby
Technical debt refers to aspects of a codebase are incomplete, deficient, obsolete, or buggy. This can occur for many reasons: insufficient time, uncertainty, omissions, poor workmanship, or poor management. This is termed “debt” because it will take additional time and money to correct, update, or revise. Technical equity refers to aspects of a codebase that facilitate its […]
Open Source Tools for Model-Based Testing
To prepare for my upcoming panel session at QUEST, I’m creating an inventory of open source model-based testing tools. Here’s my preliminary list. If I’ve missed any or have an incorrect link, please post a comment with a correction. Developer … Continue reading →
Open Source Tools for Model-Based Testing
I discussed the following inventory of open source and free model-based testing tools in a recent QUEST panel session. After checking each tool, it is clear there’s wide variation in maturity, stability, and provisioning. I see five groups. Binaries: an installable available without source code. Fielded: a codebase that has an active user community using the tool for non-research work, at arms-length with [...]
Open Source Tools for Model-Based Testing
I discussed the following inventory of open source and free model-based testing tools in a recent QUEST panel session. After checking each tool, it is clear there’s wide variation in maturity, stability, and provisioning. I see five groups Binaries: an installable available without source code. Fielded: a codebase that has an active user community using the tool for non-research work, at arms-length with the developers. [...]
Technical Equity
Technical Equity is the value that accrues when a software system is well-formed. Instead of burdening you with unnecessary excess cost, your codebase works for you. Technical equity pays dividends: you avoid wasted effort and the consequences of buggy releases, and … Continue reading →
Technical Equity
Technical Equity is the value that accrues when a software system is well-formed. Instead of burdening you with unnecessary excess cost, your codebase works for you. Technical equity pays dividends: you avoid wasted effort and the consequences of buggy releases, and gain the advantage of releasing sooner and/or with more features, for the same cost. It [...]
Technical Equity
Technical Equity is the value that accrues when a software system is well-formed. Instead of burdening you with unnecessary excess cost, your codebase works for you. Technical equity pays dividends: you avoid wasted effort and the consequences of buggy releases, and gain the advantage of releasing sooner and/or with more features, for the same cost. It [...]
How Technical Debt turns into Technical Bankruptcy
Technical Bankruptcy occurs when technical debt overwhelms a software system. Ive previously blogged about a case study how the accumulation of poor development practices resulted in the business failure of highly successful Enterprise IT software company. The technical debt … Continue reading →
How Technical Debt turns into Technical Bankruptcy
Technical Bankruptcy occurs when technical debt overwhelms a software system. Ive previously blogged about a case study how the accumulation of poor development practices resulted in the business failure of highly successful Enterprise IT software company. The technical debt metaphor provides a nice handle for a software development trade-off thats been present in every [...]
How Technical Debt turns into Technical Bankruptcy
Technical Bankruptcy occurs when technical debt overwhelms a software system. Ive previously blogged about a case study how the accumulation of poor development practices resulted in the business failure of highly successful Enterprise IT software company. The technical debt metaphor provides a nice handle for a software development trade-off thats been present in every [...]
Britannica Brat
I’ve been reflecting on the recent announcement that Encyclopedia Britannica (EB) will no longer publish in print. Subscription to its web site is now the only offered media. My full set of the 15th edition (1974) rests on the lower two … Continue reading →
Britannica Brat
I’ve been reflecting on the recent announcement that Encyclopedia Britannica (EB) will no longer publish in print. Subscription to its web site is now the only offered media. My full set of the 15th edition (1974) rests on the lower two shelves of a bookcase in the room where I’m writing this — 4 feet 7 [...]
Britannica Brat
I’ve been reflecting on the recent announcement that Encyclopedia Britannica (EB) will no longer publish in print. Subscription to its web site is now the only offered media. My full set of the 15th edition (1974) rests on the lower two shelves of a bookcase in the room where I’m writing this — 4 feet 7 [...]
The Spreadsheet Experiment
Having spent many years on the bleeding edge of test automation and model-based testing, I recently tried an experiment to see how I could use Excel to support test plan development. In a earlier post, I explained some of the … Continue reading →
The Spreadsheet Experiment
Having spent many years on the bleeding edge of test automation and model-based testing, I recently tried an experiment to see to what extent Excel could support a test plan for manual testing of mobile apps. In a earlier post, I explained some of the thinking behind my new course “How to Test Mobile Apps.” [...]
Testability Part 4: White Box Strategies
This post covers part four of my recent talk on testability. White box testability refers to specific programming practices and components that can improve or hinder testability. The known-good practices for producing clean, well-structured, readable, and maintainable software have the … Continue reading →
Testability Part 4: White Box Strategies
This post covers part four of my 2010 talk on testability. White box testability refers to specific programming practices and components that can improve or hinder testability. Since Dykstras 1968 note Go To Considered Harmful, practices for producing clean, well-structured, readable, and maintainable software have been the subject of extensive discussion, research, argument, and use. The [...]
What I Learned Building a Software Product with Tcl
Through Google Circles, I happened to see David Welton’s very interesting reflection on the Tcl programming language (posted in 2010): http://journal.dedasys.com/2010/03/30/where-tcl-and-tk-went-wrong/ About ten years ago, after a lot of evaluation, I chose to develop a commercial automated software testing tool … Continue reading →
What I Learned Building a Software Product with Tcl
Through Google Circles, I happened to see David Welton’s very interesting reflection on the Tcl programming language (posted in 2010): http://journal.dedasys.com/2010/03/30/where-tcl-and-tk-went-wrong/ About ten years ago, I chose to develop a commercial automated software testing tool with Tcl and Tk. This post explains that decision and its consequences. Despite testing tools that tout ”visual programming” interfaces, the [...]
The Genesis of How to Test Mobile Apps
A few months ago, the millionth mobile app was released. This is is an amazing milestone. It shows how important the mobile space has become and how rapidly it’s evolving. I wondered, have any of these apps been tested? My guess: probably … Continue reading →
Real Users of Model-based Testing
I think’ve finally found a good visual metaphor for model-based testing. In Aliens, Ellen Ripley uses the power lifter suit to battle the Alien Queen. Model-based testing is like the power lifter suit. It has to be driven with intelligence and skill, … Continue reading →
Supporting Software Inspections and Reviews
In every software project where I’ve used some form of review process (formal inspections, walkthroughs, or reviews), the gain has always justified the pain. Invariably, some developers really dislike this process, leading to tantrums reminiscent of Orange Country Choppers. But every time … Continue reading →
If It Moves, Test It
The FDA has just published new guidelines for use of mobile technology in class I, II, and III systems. So, what does this mean for testing FDA-regulated products with mobile technology? The new FDA Guidance defines when mobile platforms … Continue reading →
Steve Jobs Lessons for Software and Systems Engineering
Steve Jobs’ genius was in conceptualizing unique interfaces and packaging that resonated very deeply for large numbers of customers, and in the second half of his career, combining this with a business and operational model that generated huge returns to … Continue reading →
Steve Jobs Lessons for Software and Systems Engineering
Steve Jobs’ genius was in conceptualizing unique interfaces and packaging that resonated very deeply for large numbers of customers, and in the second half of his career, combining this with a business and operational model that generated huge returns to … Continue reading →
Déjà vu All Over Again The Mobile Testing Nightmare
I attended a great talk today about testing mobile applications, given by Lee Barnes of Utopia Solutions. It recounted the Rubiks cube permutations that affect mobile app quality and reliability: multiple stacks, multiple handheld devices/form factors, constrained battery life, constrained … Continue reading →
Competent, Mediocre, or Dangerous?
An article in todays Chicago Tribune recounts how a software bug in an infusion pump lead to brain-death for a patient in 2009 (Medical Industry Taking Hard Look at Software Faults, Christine Mai-Duc, Chicago Tribune, August 31, 2011, p. 19) … Continue reading →
Software Testability, Part 3: Accidental Untestability
The next several posts about testability will cover programming techniques that can enhance or diminish testability. To reveal a bug, a test must: Reach the buggy code Trigger the bug Propagate the incorrect result to an observable interface Incorrect result … Continue reading →
VCs Say the Darndest Things
As the fundraiser for startup mVerify, I contacted over a hundred venture capital investors and then had serious discussions with several dozen. Although I came close to getting a terms sheet a few times, all the discussions ended in a … Continue reading →
Software Testability, Part 2: Controllability and Observability
What makes a software system easier or harder to test? The general aspects are controllability and observability. Controllability determines the work it takes to set up and run test cases and the extent to which individual functions and features of the … Continue reading →
Software Testability, Part 1: What is it?
The incredible advances in computing capacity weve become blasé about (even impatient and demanding) would not have been possible without standard test features in all kinds of digital logic devices. The nearby graphic shows this nicely (I would like to provide appropriate attribution, but … Continue reading →
How a Big Ball of Mud becomes a Black Hole: Why Software Architecture and Process Matters
Once upon a time, I had a client who was a Software 25 company with a struggling division. They were selling and supporting an integrated enterprise system brought in by acquisition. This product, at version 7.0, was dominant in its … Continue reading →
Is Making Movies Like Making Software?
¿ After proving that good project management and software engineering could result in on-time, in-budget, high quality results for contract software development, I was designated as the project manager of a large fixed-price development project. Despite my objections, a second project manager … Continue reading →