Suppose you were browsing an e-commerce site and thinking about using it to buy an airline ticket for the first time, but it failed while you were searching for a flight. It’s not likely that you would report a problem to the company running the site. After all, it is not your problem, it’s theirs.
With this background, it is sensible to monitor your site in production so that you are alerted to problems on your Web site before your customers encounter them. You might not think this is a testing issue, but monitoring a live site involves much the same technology, approach, and software tools. The main decision to make is whether you monitor your live site yourself or you outsource the task. In theory, you could reuse the automated tests that you prepared during the development stage and execute these from a remote site to execute test transactions on your live servers.
Types of Monitoring
Link and Page Download Speed Checking
There are various tools and services available online that perform these checks and assessments.
Availability and Performance Monitoring
Availability and performance are most commonly monitored using remote tools and services. Although your system-management software might keep track of the status of your internal network and servers (and alert you to any failures), remote monitoring services are often used to detect availability or performance problems that a real user might encounter. Broadly, the remote monitoring services detect problems in four ways:
- Remote servers can ping your Web servers across the Internet. A ping request is a message sent to a host simply requesting an acknowledgement. By tracking the ping responses (if your server responds at all), the remote server can report whether your servers are up and running and how quickly they respond.
- Remote servers can send HTTP requests to tell whether the Web service is running on your Web servers.
- Simple HTTP GETs of selected Web pages can tell whether pages are downloadable, and the download speed can be monitored over time.
- Calls to server-based components or CGI programs can execute selected test transactions to ensure that connections to back-end systems are also operating properly. In this case, prepared test transactions are executed, and the response times are recorded and plotted over time.
More sophisticated tools can execute prepared test CGI transactions whose response times can be recorded and analyzed. If response times are gradually increasing in this way, it might indicate one of several problems-
- There is a memory leak somewhere in your system. Eventually, the software (or the server) will crash when all of the available memory is used up. Check the available memory of servers that have been up without a reboot for the period of the report, and monitor the process memory usage to identify the problem processor component.
- The number of simultaneous users of your service is increasing. The resources used by the users of your system may be consistent with previously run performance tests. If, however, the growth in usage or the demand on your system resources is greater than planned, you may have to perform some system optimization, upgrading, or redesign. If these options are impractical, you may have to restrict the number of users allowed on your systems.
- As databases grow in size with usage, the speed of updates and queries may slow. If the impact of database growth on response times is dramatic, this may indicate, for example, that some indexes have not been created or that the initial storage allocation or extent size of key tables are too small.
There are myriad possible causes of increasing response times. Even if you have performed a thorough performance test, it is possible that the system configuration as deployed does not match your test set up and, therefore, performs worse than expected.
When your system goes live, bug fixes and other maintenance activities may cause your technical infrastructure to undergo many changes. As your system configuration changes, the security precautions you have previously taken may be compromised. Further, new security vulnerabilities in popular software products on the market are appearing almost daily, and attackers become aware of them at the same time you do. Because Web sites are under constant threat from attackers, critical websites are often monitored by remote monitoring services and alarmed by internally or externally run intruder detection systems.
Most security experts recommend that you redo security assessments regularly, perhaps every 3 months or so. It is also sensible to do spot checks (or continuous monitoring) on the products you use to ensure you are not exposed when new vulnerabilities are publicized. If you choose a remote security monitoring service, choose one that appears to update its vulnerability database promptly so that your exposure is minimized.
Your system and network administrators may already have tools that perform these monitoring functions on your infrastructure. Make a careful assessment for E-commerce testing based on the above alternatives.
How to accelerate your product hits the market early and on time by outsourcing software testing? Solve all your software testing needs !! Contact us.