《软件测试实用教程——方法与实践(第2版)——参考答案 ch11.docx》由会员分享,可在线阅读,更多相关《软件测试实用教程——方法与实践(第2版)——参考答案 ch11.docx(2页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第11章测试应用案例实践一、自动化功能测试适合在什么阶段使用?1、测试需求分析阶段。测试需求分析阶段主要工作是获得测试项目的测试需求(测试 规格)。输出产物:可测试性需求说明书和测试规格。2、测试计划阶段。以测试需求为基础,分析产品的总体测试策略。输出产物:产品 总体测试策略。3、测试方案设计阶段。本阶段主要是以测试规格为基础获得特性测试方案,对于有自 动化测试的项目,进行自动化测试的分析,获得测试策略。输出产物:产品或者版本总体 测试方案。4、测试用例实现阶段。本阶段主要是完成各个特性的测试用例的编写和自动化脚本的 编写。输出产物:产品自动化测试用例和手工执行测试用例。5、测试执行阶段。本阶
2、段是根据测试策略开展测试执行和回归测试。输出产品:产 品或版本测试报告和缺陷分析报告。6、评估与关闭阶段。只对前面的各个阶段的执行情况,完成对测试项目的关闭,同时 提供完整的度量数据和项目总结报告。二 请从Web应用测试的角度谈谈在网络教学平台的系统测试阶段,还要从哪些 方面考虑测试,并说明可以使用的测试工具。面向Web应用系统的测试与传统的软件测试不同,不仅需要检查和验证是否按照需求 规格说明书的要求运行,而且还要测试Web应用系统在不同浏览器上显示是否符合要求, 与不同的数据库连接是否有效、更重要的是在性能、安全性、可用性等方面功能测试、性能 测试、安全性测试、配置和兼容性测试、可用性测试
3、、链接测试等。使用Cookie技术,当用户使用Web应用系统时,能够在访问者的机器上创立一个叫做 Cookie的文件,把部分信息(访问过的页面、登录用户名、密码等)写进去,来标识用户状态。 如果该用户下次再访问这个Web应用系统,就能够读出这个文件里面的内容,正确标识用 户信息如果Web应用系统使用了 Cookie,必须检查Cookie是否能正常工作,是否按预定的 时间进行保存内容设计语言测试在Web应用系统开发初始,根据软件工程的要求用文档的 形式确定Web应用系统使用哪个版本的HTML标准,允许使用何种脚本语言及版本,允许 使用何种控件,这样可以有效的避免Web应用系统开发过程中出现设计语
4、言问题。方法是实际破坏Web应用系统,测试系统的反应压力测试是测试系统的限制和故障恢 复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃,崩溃以后会怎么样。 在Web应用系统性能测试过程中,常常将压力测试和负载测试结合起来。在负载测试的基 础上,增大负载量,直到系统崩溃实施性能测试需要注意测试工具灵活使用性能测试计划的 制定由于数据库安全性导致的Web应用系统安全性问题Access数据库文件被下载用户重要 信息没有经过加密而存于数据库中确认操作系统安全性,避免因操作系统漏洞导致Web应 用程序的安全性问题Web应用系统多采用登录的方式,产品发布时提供默认的管理员用户 名和密码确保应
5、用系统实际应用中可修改默认管理员帐号和密码用户名和密码设置要求(长 度、大小写敏感、复杂度)允许错误登录的次数是否可以不登录而直接浏览某个页面保证日 志文件记录了 Web应用系统的主要操作过程,并可根据日志文件追查到系统使用情况;同时 还需要保证日志文件本身的安全性、完整性,防止被入侵者删除、获得当Web应用系统采 用了 SSL等加密技术之后,需要确认加密、解密后信息传递的正确性和完整性需要确认Web 应用系统是否有超时设置,如有,则保证在超时设置时间内,如果未操作Web应用系统, 当再次访问系统,需要重新登录了解安全漏洞信息,避免Web应用系统中出现的漏洞被入 侵者利用;及时升级补丁程序,提
6、高系统安全性Web应用系统多采用分布式体系结构,服务 器端通常包括Web服务器组件、数据库服务器组件等。三、请针对分布式搜索系统谈谈该系统还需从哪些方面展开性能测试。观察前端应用的返回结果。这里需要分两种情况来考虑:第一,按照前端应用业务功 能点及流程进行操作,观察返回结果是否符合业务方的需求预期;第二,操作后端的服务器 (通常是重启、宕机、断网等操作),观察前端应用的返回结果是否符合系统的设计需求。分析服务器日志。在功能测试过程中,当我们在启动服务器的时候,需要将日志级别定 义为Debug级别(最低级别)。分析操作系统的一些重要信息。我们测试的分布式系统绝大多数是基于Linux操作系统 开发
7、的,在测试的过程中,除了详细分析程序日志以外,还需要对操作系统的一些重要数据 信息进行分析,从而来诊断服务器程序是否存在异常。借助其他分析工具。例如,如何判断服务器程序是否产生了内存泄漏?通常需要借助于 内存检测工具来进行分析。在Linux环境下,我们常用Valgrind来进行内存检测。数据准备。如何准备海量的测试数据并保证模拟数据的真实性?以一个分布式的文件系 统为例,预先存入100GB的数据还是存入100TB的数据、存入的文件是大小基本一致差别 不大还是各不相同甚至差异很大(例如,从几十字节至几十兆字节不等),这些因素对于分 布式系统的性能影响是有很大差异的。性能或压力测试工具。通常来说,分布式系统的测试需要开发一些测试工具来满足性能 测试的需求。如果可以的话,建议这样的测试工具最好由测试工程师自己来实现,因为测试 工程师更清楚自己的测试需求。涉及平台多且硬件杂,测试流程控制困难。在实施自动化测试的过程中,测试脚本需 要控制的操作系统和应用程序很多,而且存在跨平台的特性,同时还有可能需要控制一些网 络设备。测试结果验证复杂。对于分布式系统的自动化测试来说,我们需要通过测试脚本来收集 各种测试结果数据以验证测试结果的正确性。在实施自动化测试的过程中,我们可以将测试 结果数据收集部分模块化,通过各子模块来检测各项数据是否正确。
限制150内