3系统测试计划3.1系统测试概要系统测试是对解决方案蓝图的真实模拟,通过模拟客户真实的业务环境,对系统切换上线后的使用情况进行预测。测试内容包括软件的正确性、容错性、易用性和效率,要尽可能全面地模拟真实的生产系统,发现有可能发生的错误,并及时修改错误,对发现的业务解决方案中不妥之处也要做出调整。总之,系统测试的目的就是保证一套合理的业务解决方案能够在一套经过测试的软件上正确地、有效率地运行,使软件满足客户需求。系统测试是系统顺利切换的关键环节,保证测试效果的关键是完善的测试方案。系统测试的大体框架如下图所示。3.2测试范围3.2.1软件模块:a.基于CAN总线的分布式照明通信模块b.用户登录模块c.服务器模块d.照明实时监测3.2.2测试人员:人员角色及职责郭亚单元测试康成系统测试罗恒集成测试3.2.3测试类型:界面测试:通过用户界面(UI)测试来核实用户与软件的交互。UI测试的目标在于确保用户界面向用户提供了适当的访问和浏览测试对象功能的操作。除此之外,UI测试还要确保UI功能内部的对象符合预期要求。性能评价是一种性能测试,它对响应时间、处理速率和其他与时间相关的需求进行评测和评估。性能评价的目标是核实性能需求是否都已满足。实施和执行性能评价的目的是将测试对象的性能行为当作条件(如工作量或硬件配置)的一种函数来进行评价和微调。容量测试:使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。容量测试还将确定测试对象在给定时间内是否能够持续处理的最大负载或工作量。例如,如果测试对象正在为生成一份报表而处理一组数据库记录,那么容量测试就会使用一个大型的测试数据库,检验该软件是否正常运行并生成了正确的报表。应用程序级别的安全性可确保:在预期的安全性情况下,用户只能访问特定的功能或用例,或者只能访问有限的数据。例如,可能会允许所有人输入数据,创建新账户,但只有管理员才能删除这些数据或账户。如果具有数据级别的安全性,测试就可确保“用户类型一”能够看到所有客户信息,而“用户二”只能看见同一客户的统计数据。系统级别的安全性可确保只有具备系统访问权限的用户才能访问应用程序,而且只能通过相应的网关来访问。3.3测试方法3.3.1单元测试单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试。因此应用系统有一个设计很好的体系结构就显得尤为重要。单元测试方法单元测试的方法只有两种基本的测试方法,一个是代码复查,一个是编写测试程序。它非常依赖于测试人员的技术水平,有时检查者发现不了错误,有时又把正确的解决方案认为是错误的。其次,代码复查在回归测试时工作量非常巨大。当一个单元因为某种原因发生改变时,就必须对这个单元重新进行测试,这会使单元测试的工作量成倍增长。编写测试码是单元测试的第二种方法。编写测试程序首先要求测试对象具有很好的内敛性及可测试性,其次开发的测试驱动程序、稳定桩要保证测试用例的完整性。测试用例的选择是一个具有策略性的决定,它取决于软件质量、可用资源、已有的测度文档和风险分析的综合结果。每个测试用例的结果都必须进行记录。测试驱动程序开发,先编写测试代码,再进行开发。先编写产品函数的框架,然后编写测试函数,针对产品函数的功能编写测试用例,然后编写产品函数的代码,每写一个功能点都运行测试,随时补充测试用例。所谓先编写产品函数的框架,是指先编写函数空的实现,有返回值的随便返回一个值,编译通过后再编写测试代码,这时,函数名、参数表、返回类型都应该确定下来了,所编写的测试代码以后需修改的可能性比较小。3.3.2集成测试集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。集成测试是一种正规测试过程,必须精心计划,并与单元测试的完成时间协调起来。3.3.3系统测试系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。解决了上述问题后,就可以列出各个模块的编制、测试计划表,表明各个模块单元测试完成日期、首次完成测试的日期、集成测试全部完成的日期、以及需要的测试用例和所期望的测试结果。3.4测试过程3.4.1测试环境准备测试环境的准备主要由客户方系统管理员完成,技术顾问提供支持。完成相应的安装记录文档,系统管理员应该在初始化的关键点备份并归档数据库3.4.2测试用例编写在环境准备的同时,关键用户应在顾问的帮助下完成测试用例的编写。测试用例应能覆盖业务解决方案中的所有业务流程,分为以下三种类型,测试过程应该循序渐进,由易到难,由简而繁进行。测试用例可以安排关键用户互相审核,顾问也可以承担一部分复杂用例的审核。3.4.4测试记录和结果反馈在测试过程中,如对具体操作有不解之处,或系统存在错误,应及时向项目组咨询和反映,如在测试结束时,错误仍未解决,则在“测试问题记录单”中记录下该错误,提交给项目组。在测试过程中,如发现原应用方案存在不完善之处,或原方案不可行,则在方案测试记录中注明此方案不可行,并填写“应用方案调整报告”,说明调整内容和调整的原因,及时发送给项目组。