软件测试一
1、定义:
为了发现程序中的错误而执行程序的过程。
软件测试对象:程序、数据、文档
2、目的:
a、保证软件产品的质量
b、发现修改缺陷
c、优化产品
3、分类
a、冒烟测试(1、单元测试 2、集成测试 3、系统测试 4、验收测试)
b、随机测试(
1、功能测试
2、性能测试 分为以下六种:负载测试、压力测试、容量测试、配置测试、基准测试和并发测试。
3、界面测试
4、易用性测试
5、兼容性测试
6、安全性测试
7、安装测试)
c、回归测试(1、开发方测试 2、用户测试 3、第三方测试 4、黑盒测试 5、白盒测试 6、灰盒测试)
4、流程
a、编写软件测试计划
b、设计和生成软件用例
c、实施测试
d、测试评估
e、测试总结
5、环境
a、软件测试环境
b、软件开发环境
c、软件生产运行环境:最终与用户环境保持一致
6、模型
测试模型包括:V模型、W模型、H模型
V模型的局限性: a、V模型测试是在编码完成后的一个阶段 b、需求分析阶段隐藏的bug一直在去测试后期验收测试时才会显现出来
W模型
优点:是V模型的改进版,测试伴随着软件的整个周期
缺点:严格依赖线性执行,上一阶段完成后才能执行下一阶段
H模型
H模型揭示出:
a、软件测试应尽早做准备
b、软件测试是一个独立的过程,贯穿整个产品周期,与开发并行
c、软件测试不仅仅指测试的执行,还包括很多其他活动
d、软件测试是根据被测物的不同而分层次进行的,不同层次的测试活动是按照某个次序的先后进行的,但也可以是反复的
7、软件测试的周期
需求——>设计——>编码——>用例——>提单——>回归——>版本
8、冒烟测试、随机测试、回归测试
冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作,如果冒烟测试不通过,该版本会被打回。
表现:测试系统无法执行、崩溃或严重资源不足、应用模块无法启动或异常退出、系统不稳定。
具体基本上可分为:
系统崩溃/死机/冻结(例如:测试系统无法做出任何操作,系统登入后无响应)
内存泄漏(例如:系统内存占用率超过50%且无释放迹象,系统使用后响应速度越来越慢时间超过1分钟。)
用户数据丢失或破坏(例如:测试数据保存后丢失,数据库自动清空测试数据)
模块无法启动或异常退出(例如:进入外贸系统后,登录管理员后台系统管理模块提示404,注册流程中间跳转出页面其它导致主要流程无法运行的错误)
9、黑盒测试
黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,实际上是站在最终用户的立场上,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定。
黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。
“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。
主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,根据软件需求,设计文档,模拟客户场景随系统进行实际的测试,这种测试技术是使用最多的测试技术涵盖了测试的方方面面
10、白盒测试
白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,着重于程序的内部结构及算法,通常不关心功能与性能指标。
白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。(总体上分为静态方法和动态方法两大类。静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义 动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。)
“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。
11、灰盒测试
灰盒测试是一种综合测试法,它将“黑盒”测试、“白盒”测试结合在一起,构成一种无缝测试技术。
“灰盒” 测试以程序的主要性能和主要功能为测试依据,测试方法主要根据程序的程序图、功能说明书以及测试者的实践经验来设计。
在灰盒测试中,重点关注软件系统内部模块的边界(接口)。
12、灰盒测试与黑盒测试、白盒测试的区别
灰盒测试与黑盒测试的区别:如果某软件包含多个模块,当你使用黑盒测试时,你只要关心整个软件系统的边界,无需关心软件系统内部各个模块之间如何协作。而如果使用灰盒测试,你就需要关心模块与模块之间的交互。这是灰盒测试与黑盒测试的区别。
灰盒测试与白盒测试的区别:但是,在灰盒测试中,你还是无需关心模块内部的实现细节。对于软件系统的内部 模块,灰盒测试依然把它当成一个黑盒来看待。而白盒测试则不同,还需要再深入地了解内部 模块的实现细节。所以,这是灰盒测试与黑盒测试的区别。
13、系统测试的策略
功能测试、性能测试、安全测试 (细化:可靠性测试,负载测试,易用性测试,强度测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试)
14、设计系统测试计划需要参考的文档有
软件测试计划、软件需求工件、迭代计划
15、对面向过程系统采用的集成计划包括
自顶向下、自底向上
16、系统集成的过程
1.构建的确认过程。
2.补丁的确认过程。
3.系统集成测试测试组提交过程。
4.测试用例设计过程。
5.测试代码编写过程。
6. Bug的报告过程。
7.每周/每两周的构建过程。
8.点对点的测试过程。
9.组内培训过程。
17、Alpha测试和Beta测试的区别
Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。由一个或多个用户在开发环境下进行测试。
Beta测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。由一个或多个用户在用户实际环境下进行而是。
18、测试结束的标准
用例全部测试。
覆盖率达到标准。
缺陷率达到标准。
其他指标达到质量标准