1、软件测试总体方案软件测试模型软件测试模型重要有V模型,X模型,OO模型。考虑到公司软件的特性,决定采用V模型进行测试工作,下面重要介绍这种模型验收测试系统测试集成测试单元测试编码概要设计具体设计需求分析集成测试按照模块上下集关系,进行从上到下或者从下到上的集成测试方法进行集成测试,单元测试与集成测试重要考虑功能性测试。同时也要对模个模块或者集成模块进行非功能性的抽样测试。系统测试对整合系统进行整合测试,这时的测试重要测试系统的整体功能和所有非功能性的需求。软件测试类型白盒测试白盒测试是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般白盒测试由项目经
2、理在程序员开发中来实现。白盒测试分为动态白盒测试和静态白盒测试静态白盒测试运用眼睛,浏览代码,凭借经验,找出代码中的错误或者代码中不符合书写规范的地方。比如,代码规范中规定,函数必须为动宾结构。而黑盒测试发现一个函数定义如下:Function NameGet().这是属于不符合开发规范的。有这样一段代码:if (i=0)这段代码交集为整个数轴,IF语句没有必要I=0;while(I100)J=J+100;T=J*PI;在循环体内没有I的增长, 错误产生。动态白盒测试运用开发工具中的调式工具进行测试。比如一段代码有4个分支,输入4组不同的测试数据使4组分支都可以走通并且结果必须对的。if(I0)
3、P1elseP2在调试中输入I=-1,测试P1程序段通过; 再输入I=1, 测试P2程序段,这样的测试属于动态白盒测试的缺陷。白盒测试通常在单元测试的时候进行。功能测试功能测试指测试软件各个功能模块是否对的,逻辑是否对的。对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目的是核算数据的接受、解决和检索是否对的,以及业务规则的实行是否恰当。此类测试基于黑盒技术,该技术通过图形用户界面 (GUI)或者测试脚本与应用程序进行交互,并对交互的输出或结果进行分析,以此来核算应用程序及其内部进程。功能测试的重要参考为类似于功能说明书之类的文档。UI测试UI测试指测
4、试用户界面的风格是否满足客户规定,文字是否对的,页面美工是否好看,文字,图片组合是否完美,背景是否美观,操作是否和谐等等用户界面 (UI) 测试用于核算用户与软件之间的交互。UI 测试的目的是保证用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。此外,UI 测试还可保证 UI 中的对象按照预期的方式运营,并符合公司或行业的标准。涉及用户和谐性,人性化,易操作性测试。UI测试比较主观,与测试人员的喜好有关比如:页面基调颜色刺眼;文字中出现错别字;页面显示范围超过屏幕范围等都属于UI测试中的缺陷。性能测试性能测试重要测试软件测试的性能,涉及负载测试,强度测试,容量测试,基准测试以及基准
5、测试负载测试负载测试是一种性能测试指数据在超负荷环境中运营,程序是否可以承担。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及连续正常运营的能力。负载测试的目的是拟定并保证系统在超过最大预期工作量的情况下仍能正常运营。此外,负载测试还要评估性能特性,例如,响应时间、事务解决速率和其他与时间相关的方面。强度测试强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运营情况。这类测试往往可以书写系统规定的软硬件水平规定。重要测试对象为低CPU主频,低存储空间(内存或外存),低连接速度。实行和执行此类测试的目的是找出因资源局限性或资源争用而导致的
6、错误。假如内存或磁盘空间局限性,测试对象就也许会表现出一些在正常条件下并不明显的缺陷。强度测试还可用于拟定测试对象可以解决的最大工作量。容量测试容量测试指通过代码往存储空间中插入一定数量的数据,看看相关程序是否可以正常运营。容量测试使测试对象解决大量的数据,以拟定是否达成了将使软件发生故障的极限。容量测试还将拟定测试对象在给定期间内可以连续解决的最大负载或工作量。应用程序级别的安全性可保证:在预期的安全性情况下,主角只能访问特定的功能或用例,或者只能访问有限的数据。例如,也许会允许所有人输入数据,创建新账户,但只有管理员才干删除这些数据或账户。假如具有数据级别的安全性,测试就可保证“用户类型一
7、”可以看到所有客户消息,而“用户二”只能看见同一客户的记录数据。系统级别的安全性可保证只有具有系统访问权限的用户才干访问应用程序,并且只能通过相应的网关来访问。比如输入管理员账户,检查其密码是否容易猜取,或者可以从数据库中获得.故障转移和恢复测试故障转移和恢复测试指当主机软硬件发生劫难时候,备份机器是否可以正常启动,使系统是否可以正常运营,这对于电信,银行等领域的软件是十分重要的。故障转移和恢复测试可保证测试对象能成功完毕故障转移,并能从导致意外数据损失或数据完整性破坏的各种硬件、软件或网络故障中恢复。 故障转移测试可保证:对于必须连续运营的系统,一旦发生故障,备用系统就将不失时机地“顶替”发
8、生故障的系统,以避免丢失任何数据或事务。恢复测试是一种对抗性的测试过程。在这种测试中,将把应用程序或系统置于极端的条件下(或者是模拟的极端条件下),以产生故障(例如设备输入/输出 (I/O) 故障或无效的数据库指针和关健字)。然后调用恢复进程并监测和检查应用程序和系统,核算应用程序或系统和数据已得到了对的的恢复。一定要注意主备定期备份比如电信系统,忽然主机程序发生死机,备份机器是否可以启动,使系统可以正常运营,从而不影响用户打电话?兼容性测试又叫配置测试。兼容性测试核算测试对象在不同的软件和硬件配置中的运营情况。在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。
9、客户机工作站也许会安装不同的软件例如,应用程序、驱动程序等并且在任何时候,都也许运营许多不同的软件组合,从而占用不同的资源。硬件兼容性测试与硬件密切相关的软件产品与其他硬件产品的兼容性,比如该软件是少在并口设备中的,测试同时使用其他并口设备,系统是否可以对的使用.安装测试安装测试有两个目的。第一个目的是保证该软件在正常情况和异常情况的不同条件下: 例如,进行初次安装、升级、完整的或自定义的安装_都能进行安装。异常情况涉及磁盘空间局限性、缺少目录创建权限等。第二个目的是核算软件在安装后可立即正常运营。这通常是指运营大量为功能测试制定的测试。安装测试涉及测试安装代码以及安装手册。安装手册提供如何进
10、行安装,安装代码提供安装一些程序可以运营的基础数据。分辨率测试测试在不同分辨率下,界面的美观限度,分为800*600,1024*768,1152*864,1280*768,1280*1024,1200*1600大小字体下测试。一个好的软件要有一个极佳的分辨率,而在其他分辨率下也都能可以运营。缺陷管理软件测试的重要目的在于发现软件存在的错误(Bug),对于如何解决测试中发现的错误,将直接影响到测试的效果。只有对的、迅速、准确地解决这些错误,才干消除软件错误,保证要发布的软件符合需求设计的目的。在实际软件测试过程中,对于每个Bug都要通过测试、确认、修复、验证等的管理过程,这是软件测试的重要环节。
11、Bug管理的一般流程测试人员提交新的Bug入库,错误状态为New。高级测试人员验证错误,假如确认是错误,分派给相应的开发人员,设立状态为Open。假如不是错误,则拒绝,设立为Declined状态。开发人员查询状态为Open的Bug,假如不是错误,则置状态为Declined;假如是Bug则修复并置状态为Fixed。不能解决的Bug,要留下文字说明及保持Bug为Open状态。对于不能解决和延期解决的Bug,不能由开发人员自己决定,一般要通过某种会议(评审会)通过才干认可。测试人员查询状态为Fixed的Bug,然后验证Bug是否已解决,如解决置Bug的状态为Closed,如没有解决置状态为Reope
12、n。环境为了保证软件版本的控制,需要建立三个环境,开发环境,测试环境以及发布环境发布环境测试环境开发环境开发环境: 软件产品开发工作所用的环境测试环境:软件测试工作所用的环境发布环境:软件发布运营的环境软件在各个环境中的迁移:1 当软件通过开发完毕,将软件产品移植到测试环境进行测试,这样测试和开发工作可以互相独立,互不影响;2 当软件测试完毕发现错误,开发人员在开发环境中修改错误,修改好后,打成数据包,传输到测试环境进行回归测试;3 当软件决定发布时,将软件从测试环境移植到发布环境,供用户使用开发环境与测试环境独立的好处是使开发工作与测试工作互相互不影响。测试,开发环境与发布环境独立的好处是使研发工作与用户使用互相独立。