软件测试基本概念
什么是软件测试
是为了度量和提高被测软件质量,是对被测软件进行工程设计、实施和维护的整个生命周期的过程。
软件测试的目的
1.测试以发现缺陷为目的
2.最大可能找出最多错误
3.执行有限测试用例并发现错误
4.检查软件是否满足定义的各种需求
5.执行测试用例,发现至今未发现错误即为成功的测试
软件研发模型
软件研发模型是软件生产过程中分析、设计、研发活动所遵循的框架模式。采取合适的研发模型将会提高软件研发效率,降低研发成本,提高质量。
目前较为流行的研发模型主要有:瀑布模型、原型模型、螺旋模型、RUP模型和敏捷模型。
瀑布模型
瀑布模型将软件生命周期划分为开发计划、需求分析、设计、编码、测试和运行维护这6个基本活动过程。
需求测试(Requirement Testing)
需求测试是在需求分析阶段开始就搞。需求测试的重点是:检查规格说明书中是否存在描述不正确、定义模糊、需求用例不正确、语言存在二义性等问题。完整性、正确性、无二义性、可测试性、一致性。
软件测试级别
单元测试 集成测试 系统测试 验证测试 验收测试(Alpha测试 Beta测试 UAT测试)
软件测试类型
功能测试 性能测试 负载测试 压力测试 安全性测试 兼容性测试 确认测试 冒烟测试 回归测试
测试用例
测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
常见的软件测试方法
1.黑盒测试
黑盒测试又称功能测试、数据驱动测试或基于需求规格说明书的功能测试。该测试方法验证被测对象使用质量及外部质量表现。
黑盒测试的测试方法有:等价类划分、边界值分析法、猜错法、随机数法、因果图。
2.白盒测试
白盒测试,又称为结构测试、逻辑驱动测试或基于程序代码内部构成的测试。
白盒测试的测试方法有:代码检查法、程序变异、静态结构分析法、静态质量度量法、符号测试法、逻辑覆盖法、域测试、Z路径覆盖和基本路径测试法。
3.灰盒测试
灰盒测试就是白盒测试加黑盒测试,性能测试和自动化测试就采用了灰盒测试的方法。
4.静态测试
不执行被测对象的程序代码、不运行被测对象而实施的测试活动,发现缺陷的过程。
静态测试包含阅读程序代码、文档资料等。
5.动态测试
动态测试运行被测对象的程序代码,执行测试用例,检查系统软件运行结果与预期结果的差异。
6.手工测试
7.自动化测试
测试工具
测试用例管理工具
TestLink
缺陷管理工具
BugFree
自动化测试工具
QTP(Quick Test Professiona)
性能测试工具
Loadrunner