软件测试
软件测试
1
2
3 目的 .............................................................................................................................................. 3 原则 .............................................................................................................................................. 3 测试类别 ...................................................................................................................................... 3
3.1
3.2
3.3
3.4
3.5
4
5
6 按系统层次划分 .................................................................................................................. 3 按测试方法划分 .................................................................................................................. 4 按测试对象划分 .................................................................................................................. 4 按实施阶段划分 .................................................................................................................. 4 按测试目标划分 .................................................................................................................. 4 测试材料准备 .............................................................................................................................. 5 测试用例设计 .............................................................................................................................. 5 测试流程 ...................................................................................................................................... 5
6.1
6.2
6.3
6.4 主流程 .................................................................................................................................. 5 黑盒测试 .............................................................................................................................. 6 白盒测试 .............................................................................................................................. 6 性能测试 .............................................................................................................................. 6 7 软件测试工具 .............................................................................................................................. 6
7.1
7.2
7.3 基础功能测试 ...................................................................................................................... 7 自开发黑盒测试软件 .......................................................................................................... 7 商用黑盒/灰盒测试软件..................................................................................................... 7
7.3.1 HP公司专业测试软件 ................................................................................................... 7
7.3.2 IBM公司专业测试软件.................................................................................................. 8
7.3.3 思博伦公司Avalanche网络测试产品 ....................................................................... 8
附录 市场软件测试工具汇总 .......................................................................................................... 10
软件测试
软件测试 1 目的
软件测试的目的主要在于:
1) 符合设计要求,能够满足功能要求。
2) 发现存在的错误情况
3) 在满足功能要求的基础上,在资源利用效率、实时性、稳定性、安全性等方面情况。 2 原则
全面:覆盖所有代码、所有功能。 分重点:挑出最重要的基本功能。 深入:深入各种功能细节;深刻了解背景。
3 测试类别
3.1 按系统层次划分
可以分为:基础硬软件测试、平台基本功能测试、应用功能测试、整体测试。
1)基础硬软件测试
硬件:配置 操作系统和数据库:版本是否正确、组件是否全面、设置 补丁:
2)平台基本功能测试
通信: 数据服务: 各类总线:
3)应用功能测试
SCADA系统:遥控、顺控、采集等; 可视化:
软件测试 PAS高级应用
4)整体测试
拷机
3.2 按测试方法划分
可以分为:静态测试方法、动态测试方法。
1)静态测试方法
可以细分为:人工测试方法、计算机辅助静态分析方法。
2)动态测试方法
可以细分为:黑盒测试、白盒测试、性能测试。
? 黑盒测试:功能测试;
? 白盒测试:源代码级测试,包括:语句覆盖、判定覆盖、条件覆盖、路径覆盖等。 ? 性能测试:
3.3 按测试对象划分
可以分为:单元测试、集成测试、结构测试、功能测试、性能测试。
3.4 按实施阶段划分
可以分为:开发自测、系统联调、(Alpha测试)、出厂测试(FAT)、现场测试、(Beta测试)、验收测试、安装测试
3.5 按测试目标划分
可以分为:功能性测试、安全性测试、完整性测试、自检测性测试、健壮性测试和可恢复性测试。
软件测试 4 测试材料准备
非常重要。
必须和测试目标完全契合。
包括:
? 软件(可执行文件和代码)。
? 说明书。
? 测试申请表:含义背景、测试目标等的说明。
? 自设计测试用例:可选。
5 测试用例设计
需要一个规范格式。例如下表。
6 测试流程
6.1 主流程
环境搭建=>准备用例=>黑盒测试=>白盒测试=>性能测试=>测试结果及分析=>改进=>旧用例测试=>回归测试
软件测试 6.2 黑盒测试
基础硬软件测试=>平台基本功能测试=>应用功能测试=>整机功能测试
6.3 白盒测试
代码规范测试检查=>内存泄漏测试=>代码覆盖测试。
6.4 性能测试
实时性测试=>安全性测试=>压力测试=>健壮性测试=>可恢复性测试=>拷机
7 国网电科院信息安全实验室配置范例
全套网络安全测试与评估设施:
? 极光漏洞扫描仪4台
? Spirent TestCenter 2-3层性能测试仪
? ThreatEx网络攻击测试仪
? Avalanche/Reflector 4-7层性能测试仪
? Loadrunner性能测试软件
8 软件测试工具
软件测试工具的选择需要契合具体软件系统的基本情况和测试需求。
D5000系统主要是在麒麟、凝思Linux操作系统,达梦、金仓国产数据库之上开发的,开发语言主要是C/C++和Java,界面开发部分使用了QT工具库。
测试D5000的目的,根据前文的叙述,主要在于:
1)测试D5000是否达到设计功能目标
2)测试D5000系统中是否存在错误(Bug);
3)测试D5000在资源利用效率、实时性、稳定性、安全性、系统负载等方面情况。 对于目的1,软件测试工具只能起到记录管理的辅助功能,主要靠设计测试用例验证。
软件测试 对于目的2和目的3,软件测试工具是可以达到自动测试,节省人工的作用的。
8.1 基础功能测试
这是为了满足测试目的1,软件测试工具只能起到一些管理辅助功能,例如HP QC软件等。
实质性的内容,需要根据产品说明书,详细设计各种测试用例,逐一验证产品功能。 重点是产品说明书、测试申请表信息必须完整、准确,在此基础上,设计各种测试案例。
8.2 自开发黑盒测试软件
对于目的2和目的3,可以自开发黑盒测试软件,从外部测试D5000系统的功能和性能。开发必须基于对D5000系统功能和结构的充分理解基础上。 例如,可以模拟现场情况,测试D5000系统在大负荷、长时间运行情况下的系统负荷、系统安全、稳定性和正确性。
自开发测试软件的优势在于可以充分利用对电力系统背景知识以及D5000系统的了解,设计模拟出各种情况,进行测试,并且可以根据具体开发和应用的需求,不断演进。
8.3 商用黑盒/灰盒测试软件
这方面软件很多,根据我们的需求,主要针对目的2和目的3,推荐几款。
8.3.1 HP公司专业测试软件
包括质量中心管理QC、压力测试工具LoadRunner、快速功能测试QTP。
? QC(Quality Center)软件,主要是管理功能,包括组织和管理应用程序测试流程的所有阶段,包括指定测试需求、计划测试、执行测试和跟踪缺陷。
? QTP(QuickTest Professional),是一个B/S系统的自动化功能测试的利器,软件程序测试工具。它可以支持Linux环境下的测试。它自动捕获、验证和重放用户的交互行为,具备测试用例可重用的特点,用于创建功能和回归测试。
? LoadRunner/Performance Center,是一种预测系统行为和性能的工业标准级负载测试
软件测试 工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,它能够对整个系统架构进行测试,预测系统行为并优化系统性能。支持Linux环境下的测试。
同时支持Linux、Windows平台。
8.3.2 IBM公司专业测试软件
主要包括Performance Tester和Functional Tester。
? Functional Tester
是一个面向对象的自动测试工具,它可以测试应用程序中的任意对象,包括对象的属性和数据。提供记录和回放功能,允许实际上不做任何工作就能创建可重复的测试脚本。
同时支持Linux和Windows平台。
? Performance Tester
自动负载和性能测试工具,用于开发团队在部署基于 Web 的应用程序前验证其可扩展性和可靠性。提供了可视化编辑器,使新的测试人员可以简单地使用。 为需要高级分析和自定义选项的专家级测试人员提供了对丰富的测试详细信息的访问能力,并支持自定义 Java 代码插入。 自动检测和处理可变数据,以简化数据驱动的测试。 提供有关性能、吞吐量和服务器资源的实时报告,以便及时发现系统的瓶颈。
可以在 Linux 和 Windows 上进行测试录制和修改。
8.3.3 思博伦公司Avalanche网络测试产品
AvaLanche产品,是硬软件结合的系统,分机架式和机箱式2种,可以进行网络监视和网络测试,可以自动记录网络报文并回放,它和常用网络工具Sniffer的最大区别在于,它不仅仅可以监视、分析网络,还可以主动地测试,可以把记录的网络报文,分解成成千上万个客户端回放。
价格根据配置,在10万~200万之间。
软件测试
软件测试
9 附录 市场软件测试工具汇总
目前市场上的软件测试工具,大体可以分为5类:
? 负载压力测试工具
Web性能测试工具:Jmeter和opensta、WebLoad、WebLoad Analyzer、Microsoft WAS。
SilkPerformer、IBM Rational Performance Tester、Compuware QALoad、PureLoad、PureAgent、JMeter、OpenSTA(专用语B/S结构)、Microsoft Web Application Stress Tool、DBMonster
? 功能测试工具(黑盒测试)
WinRunner、LoadRunner、QuickTest Pro、SilkTest、Rational Robot、Manual Tester(优化手动测试)、IBM Rational Test RealTime(嵌入式)、Functional Tester、Telelogic Logiscope、Telelogic TAU/Tester、Compuware QACenter、Compuware TestPartner、E-TEST Suite、WebFT、Jameleon、WebInject、Abbot Java GUI Testing Framework、JUnit、Cactus、TESTNG、Jetif、JsUnit、ATTOLTESTWARE(嵌入式)
? 白盒测试工具
PureTest、jcoverage、Cobertura、bouncechecker、Rational PurifyPlus、Macabe、PC-Lint、JTest
? 测试管理工具
TestDirector、SilkPlan Pro、ClearQuest、TestManager、Compuware QADirector、Compuware TrackRecord、e-Manager、TestView Manager、zenTrack - project/bug tracking software、TestLink、QaTraq、ITracker、Scarab、BugRat、jTrac、Mantis、Buggit、Bugzilla
? 测试辅助工具
安全性测试辅助工具:WebInject和Fiddler2。
网络辅助工具:Sniffer
软件测试
软件测试
软件测试
软件测试
软件测试
软件测试
软件测试
软件测试
软件测试
软件测试
软件测试
软件测试
软件测试
软件测试
软件测试
软件测试