2.业务层。业务层测试的重点是发现应用系统的业务逻辑中的问题。测试业务逻辑层与测试单机程序非常类似,通过测试去检查应用系统是否满足系统性能方面的需求。
(1)性能测试。主要负载测试,即带负载情况下的响应时间和吞吐率。负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。此外,还要进行夜里测试。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。
(2)数据验证。测试从用户采集到的.数据,通常是以表单形式。当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登录、信息提交等。在这种情况下,我们必须测试提交操作的.完整性,以校验提交给服务器的信息的正确性。如果表单只能接受指定的某些字符,测试时可以跳过这些字符,看系统是否会报错。如果Web应用系统使用Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上。
(3)业务测试。测试系统的业务处理过程的正确性,其中包括信用卡处理、电子邮件验证以及消费税计算等。电子商务系统必须在全部的时间里正确处理业务,无一例外。因此,要通过测试确保业务处理的正确性。
3.数据层。数据层的测试,主要是指对应系统用于储存和获取信息的数据库管理系统的测试。在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在使用了数据库的Web应用系统中,一般情况下,注重数据库操作的响应时间、数据存储的完整和数据库系统的容错。
(1)响应时间。应量化数据操作语言(DML,包括结构化查询语言SQL中INSERT、UPDATE和DELETE)、查询(SELECT)及事物的完成时间。电子商务系统运行速度缓慢会引起客户不满。因此,我们应该积极确保网站能够及时响应用户的请求和操作。在测试数据层的响应时间时,我们要确保单个的数据操作能够快速完成,不至于阻塞其他操作。
(2)数据完整性。验证数据存储适当且正确。所谓数据完整性测试,即在数据库表中发现不准确数据的过程。这项测试与数据确认有所不同,后者在测试业务层时进行。数据确认测试试图发现数据收集中的错误,而数据完整性测试是尽力要在数据存储的方式中发现问题。
(3)容错性和可恢复性。最大化平均故障间隔时间(MTBF),最小平均故障恢复时间(MTTR)。一般来说,数据库操作的一个目标是最大化MTBF,最小化MTTR。
数据库的恢复具有重要意义。可恢复性测试的目标是设计出数据库无法恢复的场景出来。在某些时间,数据库会崩溃,因此须制订一些规程以便快速恢复。恢复计划开始于获得有效的备份,在进行可恢复性测试时,如果无法恢复数据库,那么需要修改备份策略。
三、系统整体测试
1.整体界面。整体界面是整个Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览Web应用系统时是否感到舒适,能否找到信息所在地方,整个Web应用系统的设计风格的总体效果。
对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。
2.安全性。安全性测试区域主要有:
(1)现在的Web应用系统基本采用先注册,后登录的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登录而直接浏览某个页面等。
(2)Web应用系统是否有超时的限制,也就是说,用户登录后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登录才能正常使用。
(3)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
(4)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
3.导航。导航描述了用户在一个页面内操作的方式。在一个页面上放太多的信息往往起到与预期相反的效果。Web应用系统的用户趋向于目的驱动,很快地扫描一个Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快离开。很少有用户愿意花时间去熟悉Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。