TrainingConferencesAbout UsContact UsAdvertiseSQE.comRSS Feed

StickyMinds.com: brain food for building better software

Log In
 Clarify Your Search Criteria

Tips on Using Our Search Feature(s)
 
StickyMinds.com Home
ResourcesTopicsCommunityPowerPassBlogs
Home  >  Detail: Has Web Development Changed the Meaning of Testing?



A StickyMinds.com Original
Article Picture
Has Web Development Changed the Meaning of Testing?

By Robert L. Glass

Send This Content to a FriendGet a Short Link to This ContentPrint This ContentSee User Comments About This Content

Summary: Web development may be distinguished from traditional software development by descriptive terms such as "slam it and jam it," "FAD--Frantic Application Development," or "Wild Web Developer." These phrases from Glass' column help us understand the new challenges faced by test and QA people who are assigned to Web projects. In this column, Glass identifies many of the new aspects of testing that come with the advent of Web software.


Seapine
I recently had a wonderful experience at an industry conference and learned some interesting things I thought I’d share with you. Usually I hate going to conferences on the topic of testing and quality assurance (they can be so boring when under-qualified, over-hyped, or overly-academic people get up to speak). However, I recently returned from the Practical Software Quality Techniques (PSQT) conference in Bloomington, Minnesota, held in conjunction with the PSTT conference (where T=Testing replaces Q=Quality). And, I am even more happy to say, the P=Practical word in the title was particularly well chosen. Presentations were by "been there, done that" kinds of people.

I went out of my way to choose sessions on Web application development (there were eight parallel tracks), mainly because I don't know much about Web development. My chief interest was to what degree Web development differs from traditional software development. The answer I learned, partly to my surprise, is "plenty."

What’s different about Web application development? Web application development tends to be:

  • requirements-free: There are seldom any stated requirements at the outset of a project. (One speaker described that phenomenon, only partly in jest, as "Specs? We don't need no stinkin' specs!")
  • rapid-development: There is seldom time to do anything more than what one speaker called "slam it and jam it," using a process he called "FAD--Frantic Application Development."
  • short fuse and relatively small: Most projects are expected to last about three months, using a maximum of four people.
  • testing-primitive: There are few generally accepted processes, and the tools that are available often don't fit the problems well.
  • user-intimate: Although you never meet your users, they are only a mouse click away from letting you know what they don't like--and from going over to the competition.
  • a "living project" (two speakers used this term): Maintenance, usually by the developer, is a "must," and in fact "all products are in permanent beta test" (modifications are ongoing).
  • performed with limited management support: Most managers think Web development is easy.
  • highly aware of performance: Performance is vital--and extremely unpredictable.
  • concerned with content: Content is king; it doesn't matter whether the application is "pretty" or not, if the content isn't interesting or useful.
  • a whole new field: Developers are more "Wild Web developers" than software professionals.

In fact, that last item is key to understanding the difference between the Web and traditional software. One speaker expressed this difference very well, saying, "We've moved back two decades in testing approaches" (that is, no one is building the notion of Web applications testing on the lessons learned from the history of software testing), but went on to say "I'm not sure that traditional approaches will ever be applied." In another session, the issue became even more clear. Is it pure backwardness to build Web applications without requirements, or is it simply true that in any rapidly evolving discipline, it is impossible to know what the requirements are until the first (several?) prototypes are built? And in the absence of firm requirements, isn't it impossible to perform the rudiments of traditional testing and quality, such as requirements-driven testing? As the Web applications field matures, it will be fascinating to see what comes of these issues.

What characterizes a Web application? Andrea MacIntosh of QA Labs, Inc., said that the typical architecture is a browser tied to a Web server tied to an application server tied to a database. And what characterizes Web applications testing? The same speaker said that it's about multiple environments (you can't test a new version of a site on the live site), multiple platforms (you can't necessarily control the browser/operating system/languages/tools choices of your users), a new approach (you test "back to front," meaning starting with the server side and working out to the client side), and the focus is different (you must "think user," structure by whatever canned components you can use, and prioritize your testing according to where the risk of failure is largest). Two other speakers, addressing the issue of performance (and not specifically testing), said the same thing about "back to front" approaches. Brian Hambling and Angelina Samaroo, of ImagoQA, advised starting performance work at the back end, focusing especially on any legacy systems and their (baseline) performance. (Incidentally, regarding performance requirements, most speakers agreed that a maximum response time is about eight seconds--anything more than that requires telling the user what is going on).

What about the state of the Web applications practice? Arthur Hicken of ParaSoft noted that "the average Web site has one bad link for every three and a half pages, and twelve errors for every page of HTML." "Ninety percent of browser incompatibilities," he went on to say, "are caused by using nonstandard HTML, and the other 10 percent are because the browser does nonstandard stuff." (He noted that many people blame Microsoft for deliberately doing nonstandard things so that their competitors could not get their code to work, but Hicken blamed the competitors themselves for their own nonstandard practices). And Mark Bonewell of Medtronic described his own lessons learned from a first-time experience testing a Web application. He noted that there were almost no requirements (by the time he said it, this had become a familiar theme at the conference) and that it was the first time that most programmers on the project had done Web development.

As I said, I usually hate going to conferences on the topic of testing and quality assurance. But Web testing conferences should offer new and changing information for some time to come. Each conference, like each Web development project, will have to address fluid and unstable "rules" as the field develops.



About the Author
Robert L. Glass is the president of Computing Trends, publishers of the Software Practitioner newsletter. He has been active in the field of computing and software for over 45 years, largely in the industry (1954-1982 and 1988-present), but also as an academic (1982-1988). He describes himself by saying "my head is in the academic part of computing, but my heart is in its practice."

Back to Top
 

StickyMinds.com Weekly Column From 12/18/00 

Member Comments
Add Your CommentExpand Comments
 
Comment:    
by Allyn Van Dyk 6/13/2001

Being used to creating client/server applications for windows for a small, private university, we tackled our first web project using the same methodology. We carefully gathered requirements, performed thorough testing, and even field tested it with actual users. The project was a major success for our Information Technologies division. Web developers who ignore such processes do so at their peril.

 
 
Comment:    
by Brian Volk 5/10/2001

I just started working on a project that does web development. Your bulleted item are so on the money. We are system testing without signed off requirements and 0 entrance criteria. Builds are not controlled and installations are performed by the developers, have to be so they can tweak it until it works. I am working on a gap analysis to present to the directors that will identify why there is so much churn and missed deadlines.

 
 
Comment:    
by James Hamilton 4/18/2001

I feel that this is a dangerous road for software management to go down. There are still companies out there developing non-web based applications without requirements and are spending a lot of time and "money" to correct the problems. Without requirements how do the new developers to the company do maintenance or upscope work. Another side to this will probably be no requirements standards, no commenting standards within the code itself. This type of thinking reminds me of the old Fram oil filter commercials. "Pay me now, or Pay me later". This is a matter of education to both the customer and management for a quality product.

 
 
Comment:    
by rene roberts 1/3/2001

I would tend to agree with the author that often requirements are missing, but let it be known that our web development environment has now implemented a full blown product development life cycle, with requirements, tech design documents, test plans and release schedules, we only let our website change about every 2 mos. We are a eHealth company and quality does count to us. We may be an exception in that we are a more mature company with 27 in our product development department including QA, and Product designers. But we learned quickly the backlash of problems as a result of the environments discussed in the article. All of us...Read On

 
 
Comment:    
by Louise Milligan 12/27/2000

In 1999, we developed a few websites without gathering written requirements. Each project experienced cost overrun. We now invest some time reviewing website mock-ups with customers and then write the requirements (which the customer must "approve"). This year's projects are going a lot smoother. We have ongoing tweaking, but no major re-directions after development starts. Testing a website that has written requirements is so much easier than testing a moving/evolving target.

 
 
Comment:    
by Rose Eliff 12/20/2000

Wow! I've been fighting for requirements documentation since I started in Web development. I hadn't realized this was a common problem across companies. Too often, I've interviewed developers to ask about expected results on a function... and they responded by browsing the Web site they developed instead of requirements. Boundary limits? "I don't know." Specs? "I just made it up as I developed it." We've finally purchased a requirements management tool. I can hardly wait to start using it!

 
 
Comment:    
by Paul Van Doren 12/20/2000

My own observation on this subject. Our customer confuses reasonable expectations for content management and for web site functionality. The customers expectations for content are justifiably high - fast turn around. This expectation is incorrectly retained when it comes to functionality. Functionality ought be created via mature practices. For example, our customer just now directed us to put completion of our design/as built document on low priority and get on with other tasks. So six months from now when we have new team members who have to work on the specific function will be... you get the picture. A special aspect of this is the...Read On

 
 
Comment:    
by David Kingsbery 12/19/2000

I'm glad to hear someone else who doesn't always get a lot out of conferences, personally I think I prefer the more focused seminar format. I was wondering if the PSQT and PSTT lived up to their names "Practical". I work in the Intranet environment, granted, this environment is more "controlable" than the internet, but we're successfully implementing some of the traditional development/testing processes. This is driven by Management. History repeats itself: Web developers would be surprised how much the processes could reduce their frustration.

 
Back to Top



 
Ads By Google
What's This?
 
 



Home   |   Resources   |   Topics   |   Community   |   PowerPass



© 2010 StickyMinds.com. All rights reserved.
StickyMinds.com is a division of Software Quality Engineering.
Privacy Policy    Terms & Conditions    Link to StickyMinds.com    Feedback


ThoughtWorks

Rally Software




Agile Development Practices 

STARWEST