Tuesday, February 9, 2010

Testing and the Web


The web is another example of a disrupting technology (like RAD and XP) requiring that a lot of old lessons get relearned.  
These lessons are:
• All approaches to non-trivial software development require disciplined and trained practitioners.
• Any information which isn’t written down gets forgotten.
• Users can’t read code, don’t very much like diagrams, and need some specification to sign off  before they’ll part with their money.
• Changes have ripple effects throughout systems.
• Developers, testers, and test managers need to have some objective way of deciding if a bug exists.
• If developers want to take a risk, and try and integrate a system in a big bang they are simply ignoring 60 years of experience, and will eventually realize that unit and integration testing reduce risk, and save time.
 
Early web development was characterized by many programmers quickly hacking simple static websites with minimal features and quite terrible graphics, using simple tools. The sites were image threats only. As the commercial web developed, the ghastly possibility that such sites represented a commercial threat too was realized, and some degree of formality and accountability began to reassert itself, to counterbalance the supremacy of developmental speed. In short People Who Mattered realized it didn’t matter how fast a site was developed if it was “wrong.”
Web development is dominated by architectural concerns.
 
There are many web system types, all of which have similar architectures to the one shown above. The elements of the architecture can interact as shown in Figure
 
The browser pages communicate with the web server using details (form fields filled, check-boxes ticked, etc.) sent to the web server along with a cookie which identifies the particular browser. A series of scripts held by the web server interprets the details and calls an application (legacy, COTS, or new).
The application in turn interrogates a database or a banking application (for payment and credit card details), and then returns data to the web server. The web server creates a page and returns it with a cookie to the browser.
Variations of this approach will include closed internets for suppliers to (say) car companies or clients of private trading systems.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.