软件测试概念介绍

27 阅读4分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第29天,点击查看活动详情

软件测试的原则

1、测试证明软件存在缺陷 :无论执行什么样的测试操作都能证明当前软件是有缺陷的

2、不能执行穷尽测试:有些功能是没有办法将所有的测试情况都罗列出来,所以任何的测试操作都有结束的时间

3、缺陷存在集群现象(80%的bug来自于20%的模块):对于软件功能说,核心功能占20%,非核心是80%。在实际工作中我们会集中测试20%的核心功能,所以这个部分发现缺陷的几率就会高于80%。因此我们就会遇到缺陷都集中在20%功能模块里的现象。

4、某些测试需要依赖特殊环境

5、测试应尽早介入(应当尽早的不断地进行软件测试):为了更多的发现和更好的解决软件中的缺陷,我们追求测试工作尽早的开展

6、杀虫剂现象:同样一个测试用例不能重的执行多次,因为软件会对他产生免疫。

7、不存在缺陷谬论:任何软件不可能是完美的

8、测试人员应该妥善保存测试过程当中所产生的文档

9、测试人员应该根据测试计划、测试用例进行测试,杜绝测试的随意性。

测试对象 程序+数据及结构+文档

每个阶段相应的测试对象 1、需求分析阶段:各种需求规格说明书。

2、软件架构设计:API接口文档(接口测试)

3、编码实现阶段:源代码(白盒测试、单元测试)

4、系统功能使用:软件功能主体(当前行业做的最多的一种测试)

测试级别 1、单元测试(白盒测试):对类、函数、组件进行测试(参考文档:详细设计说明书)

2、集成测试(接口测试)(灰盒测试):将多个单元模块组合、然后验证他们之间的连通性。(参考文档:概要设计文档)

3、系统测试(黑盒测试):在集成测试基础上对软件及周边作主体测试(功能,性能,安全等等特性测试),这是当前行业最多的一种测试。由测试人员充当用户,然后对软件功能主体进行测试

4、验收测试:(黑盒测试)

(1)Alpha (a)测试 -内测

(2) bata (B)测试 - 公测

(3)UAT( user acceptance test )测试---- 由客户派出对于业务非常精通的人员来使用该软件,从而对功能进行测试。

系统测试分类 (测试项) 1、功能测试

2、兼容性测试

3、安全测试

4、性能测试:稳定性测试、负载测试、可靠性测试

5、界面测试

6、一致性测试

7、可移植性测试

8、容灾性测试

9、可配置性测试

10、可交互性

11、可用性

12、绿色健康

按测试方法分类 白盒测试:(结构性测试) (逻辑驱动测试)

黑盒测试:(数据驱动测试)(系统测试)

灰盒测试:介于两者之间 (接口测试)

按测试对象是否执行分类 1、静态测试:指的就是测试不执行

2、动态测试:将软件运行在真实的使用环境中进行测试

按测试手段进行分类 1、手工测试

2、自动化测试

软件质量的六大特性 1、功能性

2、易用性

3、可靠性

4、效率性

5、可维护性

6、可移植性

软件测试流程 1、需求分析

2、测试计划

3、测试设计:测试方案、测试用例、评审记录

4、配置环境(搭建测试环境)

环境=软件+硬件+网络

软件测试环境包含哪些? 软件:操作系统,应用软件,数据库软件

硬件:系统配套硬件

网络:

5、执行测试用例:执行结果、bug清单

冒烟测试(预测试、通电测试、接收测试)

6、回归测试及缺陷跟踪

7、输出测试报告

8、测试结束