Even as a professional project manager of web projects, one tapes all too often and only too get easily into a very bad trap. The project has a very limited scope and everything runs like clockwork. The testings - module test and also integration test - deliver excellent results. The Deploy is done and after the client has proudly announced the rollout, suddenly come to Complaints. What is going wrong here?
Automated testing: From the developer's point of view
The following scenario: Changes have been made to a module or even the core of its website engine and will now test the holistic functioning of the Web 2.0 page again. " I've already tested the user's login, the order process and the search functions x times ", one thinks. Yes, one has. But to maintain the quality of its web applications, it simply does not stop at performing these tasks over and over again.
Automated Testing: the ordinary test case
All right, let's test our project together in our thoughts: We have the home page home.php. There are currently three clickable elements - 1,2,3.
Now click on the first item (1). There are Asynchronous Scripting ( AJAX ) other elements recharged (4 and 5), ie the address of the page does not change, but rather the content.
Now you click again on an element, which triggers an HTTP request and leads us to another page page5.php.
This one has a " click path ", which represents a simplified test procedure of the web application. And since a page consists of several building blocks, this method is logically applied to all pages, all elements in different constellations. A schematic excerpt.
Automated testing: three good reasons
And now comes something not completely unessential: A website consists not only of any clickable elements, but also from forms and other gimmicks. And all this has to be tested again and again. So here are the three reasons why you should automate the whole thing:
Automated testing saves working time-Saving time is the most important reason for automation. Abraham Lincoln did some thinking here decades ago. In terms of optimized work, he said: "If I had eight hours to fell a tree, I would drag the ax for six hours."
Where he was right, he is still right. Today, we are in the age of computers, the tools that should make life easier for us and help us to carry out recurring work quickly and efficiently. This only works if our proverbial ax (the system you work with) is sharpened and set correctly.
Repetitive manual testing of an entire website would, in the figurative sense, mean cutting a dense forest of renewable trees with a blunt pocket knife. And that was neither economical nor economical. That's why a test of your website should only be set up once and executed at the push of a button without any extra work - that's why automation.
Automated Testing: Consistent Quality For example, if a person is to test a whole web site, it will not only be slower but more error prone compared to automated testing. The user is bored after a few test cases due to monotonous work and loses more and more concentration. A test system does not ask for variety and does not require exciting tasks. It just does its job conscientiously and in consistent quality. This results in a constant quality assurance of your web projects.
Automated testing: simply thorough By now, when you need a specific test plan for automated testing, you will be thinking about how to test the site. Not about. But exactly. Which search results should be output for filter x and input y? Is the design element in the right place, even when dynamic content is reloaded? Automated evaluations of the test results reveal the misbehavior of the website to which neither the customer nor even one has thought.
Automated testing: Note for the professionals among us
Of course, we all know that for any kind of software developed (nothing else is a website - no matter how complex or simple it is) a test plan is created that also lists the test cases whose positive fulfillment signals the accuracy and readiness of the entire application. And of course we also know that especially when it has to be fast or the project is quite manageable, there is no time for these time-wasters ("that's really not necessary here"). Anyone using a tool for automated testing will laugh well at this point. The testing takes place in minutes and one keeps a comprehensible report called " test protocol"In hands. This is good for the project manager, who can objectively recognize the quality status. But that's also good for the developer, who can document his prudent work well.