本系统主旨为培训学生.net开发技能,详细演示内容请参看:第一章 建立项目

测试基础知识

发布日期:2005年9月20日|更新日期:2005年10月11日
京胜世纪整理

摘要:本文讲述软件测试相关基础知识及测试流程。

本页内容:

背景
预期读者
概念
测试基础
参考内容

背景

在软件开发生命周期中软件测试是一个非常重要的环节.目前国内很多软件开发公司存在一个通病,那就是开发出来的软件产品的质量一直得不到很好的保证,很多产品在正式交给用户使用后总是存在诸多的问题。其原因是多方面的

1.很重要的原因是软件开发的管理水平不高,尤其是一直以来忽视了对软件产品进行必要和充分的测试。
2.国内的很多软件企业对于软件测试的重要性缺乏足够的认识,反映到公司组织形式上很多的公司没有成立测试部门或者专门的测试小组,只是在最近的一两年国内才开始逐渐意识到软件测试的重要性。在对软件测试的理解上也存在一些误区,例如有的公司只是在编码阶段后期才进行测试,有的采用谁开发谁测试或者交叉测试的办法,有的甚至连测试这一环节都没有,产品的质量当然无法提高。

软件开发阶段

编码阶段

测试阶段

维护阶段

发现和更改错误的费用

1倍

4倍

16倍

3.目前测试人员的素质普遍有待提高,很多测试人员没有任何开发或设计的经验

目前,ISO9000质量体系认证越来越得到软、硬件公司的重视,而测试是ISO9000中质量保证实施的一个重要环节,中国加入WTO后越来越多的公司的产品要面对国际市场优秀产品的竞争,产品的质量更是企业生存之本。

<<返回目录

预期读者

测试管理人员、测试工程师、软件工程人员

<<返回目录

概念

软件测试主要是:
1.发现产品或项目错误
2.风险管理(需求-发布)
3.?质量保证、防范错误

<<返回目录

测试基础

测试方式
静态测试:在不需要执行所测试的程序,查询代码是否符合规范、对程序的数据流和控制流进行分析。
动态测试:选择实际测试用例运行所测试程序,模拟用户输入。

测试方法
白盒测试:已知软件的实现流程,按照该流程测试,又叫结构测试、白箱测试、玻璃盒测试、基于代码的测试和基于设计的测试。耗费大量的财力、物力,对所有代码进行该种测试的可能性比较小,且对测试人员的要求比较高,一般只进行重点部分的白盒测试。
黑盒测试:通过对照软件的规格说明书,基于系统应该完成的功能,而不必了解该产品的设计思路,又叫行为测试、功能测试、基于需求的测试。
现场测试:由用户、需求人员、市场人员或技术支持人员进行的测试,常常是临时性的,适用于试用版的后期测试。

测试种类

1?按照测试对象分为:
代码测试:白盒测试
界面测试:界面是否符合标准或用户要求
功能测试:针对需求规格说明书检查用户要求的功能是否得到很好的满足
安全性测试:由于未限制用户的随意输入造成泄密或数据库瘫痪等
极限测试:边界、数据量
性能测试:主要用于衡量系统的响应时间、事务处理速度等
压力测试:由于资源不足或资源竞争引起的错误,在较少的内存、硬盘空间等条件下容易暴露问题
容量测试:数据量的增加是否会造成数据库瘫痪或程序出现问题
安装测试:确保软件在各种条件下的正确安装及安装后的正确性
文档测试:完整性、正确性、可维护性

2?按照测试阶段分为:
单元测试:对单项测试或一段子程序进行测试,包括对一行一行的代码进行的基本测试(白盒测试,基本上由开发人员完成),主要关注软件的可靠性和稳定性。测试的内容包括界面测试、局部数据结构、边界条件、覆盖条件、出错处理
集成测试:查找被测试模块之间在关系和接口之中的错误
系统测试:全面查找被测试系统的错误,测试系统的整体性能、可靠性、安全性等,该类测试是站在客户或最终用户的角度来看待系统的。
验收测试:该类测试是为了证明接受测试的系统满足需求。测试的重点是产品在常规条件下的使用情况。人员主要为市场、销售、技术支持和最终用户

测试流程

风险预测--测试计划--测试设计--测试执行-测试评估

1.?范围划定
根据项目文档、人员、资金、环境等划定测试的范围,并确定测试的重点

2.?风险预测
质量风险评估方法:
非正式:将测试阶段、测试内容列出并排定优先次序
正式(FMEA:Failure Mode and Effect Analysis,失败模式及效果分析):系统功能或特性、潜在的质量风险、潜在的失败影响、是否严重、严重性表现(数据丢失或安全问题、丧失无工作区的功能、丧失有工作区的功能、功能部分丧失、表面的)、失败的潜在原因等
出具的文档:风险评估图表

3.?测试计划
对现有资源(人员、时间、环境等)、测试阶段等按照质量风险进行合理化分工,对以后的测试工作具有指导性。
出具的文档:测试计划

4.?测试设计
设计测试中使用的方法、工具、需测试的内容、具体的方案、用例
出具的文档:测试方案

5.?测试执行
根据测试文档执行测试,并出具缺陷报告和测试日志
出具的文档:测试报告、错误跟踪

6.?测试评估
根据缺陷报告及各项测试文档全面评测该系统
出具的文档:测试评估报告

测试原则

·所有的测试都应追溯到需求
·应该在测试工作真正开始的前较长时间内就进行测试计划
·测试应该从“小规模”开始,逐步转向“大规模”。
·穷举测试是不可能的,但是要保证覆盖到程序设计中涉及的所有条件
·最好由独立的第三方构造测试

测试用例的设计

1)?白盒测试
A.?保证一个模块中的所有独立路径至少被使用一次
B.?对所有逻辑值均需测试True和Fasle
C.?在上下边界及可操作范围内运行所有循环
D.?检查内部数据结构以确保其有效性
E.?基本路径测试
F.?控制结构测试:条件测试、数据流测试、循环测试


2)?黑盒测试
A.?基于图的测试方法
B.?等价划分
C.?边界值分析
D.?比较测试
3)?针对专门环境和应用的测试
A.?GUI(图形用户界面)测试
a.?窗口
b.?下拉式菜单和鼠标操作
c.?数据项
B.?C/S结构测试
C.?测试文档和帮助
D.?实时系统测试

<<返回目录

参考内容

1.《有效软件测试》,新语,清华大学出版社。
2.《软件测试方法和技术》,朱少民,清华大学出版社。
3.《软件测试》,周予滨等,机械工业出版社。
4.《软件测试入门》,包晓露等,人民邮电出版社。
5.《软件测试与质量管理》,许育诚,电子工业出版社。
6.《软件测试教程》,贺平,电子工业出版社
7.软件测试的常识(http://www.testwin.cn/news/manage/news/news_show.asp?id=187)
8.软件测试认识的几个误区(http://www.testwin.cn/news/manage/news/news_show.asp?id=33)

<<返回目录