软件测试理论基础(一):基本理论

一、开发测试阶段
1.软件开发阶段:
(1)需求分析----产生文档----需求规格说明书
(2)概要设计----产生文档----概要设计说明书
(3)详细设计----产生文档----详细设计说明书
(4)编码

2.软件测试阶段:
(1)单元测试
(2)集成测试
(3)系统测试
(4)验收测试

二、软件测试各阶段介绍

  • 单元测试
    (1)依据:详细设计文档
    (2)以黑盒测试为主,重点核心模块可以进行白盒测试(检查代码)
    (3)可能需要编写驱动模块或桩模块:
    驱动模块:模拟被测模块的上一级模块(调用被测模块的上一级模块)
    桩模块:模拟被测模块的下一级模块(被测模块调用的那个模块)
    (4)在实际工程中,为了节约成本,单元测试经常只由开发人员完成,有悖于测试思想(测试必须由第三方来完成)。
  • 集成测试
    (1)拿到一个新的集成版本的时候,一般先做冒烟测试—利用较少的时间(0.5-2天)、较少的人(1-3名经验丰富)对软件的主要功能进行测试,主要判断该版本是否值得一测,如果值得一测,整个测试组再全部投入;如果不值得,打回开发组,令其完善后再给出新版本。
    (2)一个新的版本测试思路:
    A.冒烟测试
    B.返测:对发现的缺陷是否进行修复的测试
    C.回归测试:对前面版本中所有的用例再执行一遍(保证软件旧的功能正确)
    D.对新添加的功能进行测试
  • 系统测试
    (1)对整个软件系统进行全面完整的测试过程
    (2)在系统测试之前一般有“确认测试”:
    A.确认该程序值不值得一测(冒烟测试)
    B.确认相关文档是否齐全(尤其是交给用户的文档)
  • 验收测试(用户接受度测试、用户体验测试,UAT,user acceptance test)
    (1)alpha测试:由最终用户在开发的环境中对软件进行测试(在实际中也经常由开发方自主完成)
    (2)beta测试:由最终用户在实际的环境中进行测试使用
    对于一些没有固定用户群体的公共类软件(办公软件、游戏、输入法),一般会发行公测版(beta版),让用户免费使用,发现bug后进行信息反馈。

三、软件测试模型
1、概念:测试模型体现的是开发和测试的对应关系。
2、V模型
(1)优点:测试阶段明确,既包括单元级(可能涉及代码),也包括用户级,与开发关系明确。
(2)缺点:容易理解成测试只是开发后的一个工作,不符合越早测试和不断测试的原则。
在这里插入图片描述
(3)深入理解:
在编码之前,我们需要对相关的需求文档、开发文档进行测试----越早测试;
根据相关文档,在测试执行之前编写各个阶段的测试计划、测试用例等文档----测试过程是有计划性的。

四、软件测试的分类
1、常见的分为:黑盒测试、白盒测试、灰盒测试。
(1)黑盒测试主要是功能测试,每个软件测试必须要做的。
(2)白盒测试重点看代码的逻辑、算法、结构是否正确,要求必须懂得代码,需要编写测试用例。
(3)灰盒测试就是介于两者之间。
注意:在单元测试时,白盒测试应用相对较多;在集成测试时,灰盒测试应用相对较多;在系统测试时、验收测试时一般就不会使用白盒测试和灰盒测试了。

2、按是否需要运行代码划分:静态测试、动态测试。
(1)静态测试主要是一些页面、文档之类的测试。
(2)静态中的代码测试重点关注的是代码的规范性,一般检查变量的命名,注释的频率,编程的规范性,不需要写测试用例,一般只需要有代码审查单。
(3) 一般经常把白盒测试和静态测试的要素结合在一起,形成“静态白盒测试”。

3、按软件特性分类:功能测试、性能测试。
(1)功能测试可以手动,可以自动化。
(2)性能测试必须使用工具(自动化测试),比如LoadRunner,多是分布式软件(B/S、C/S)会用到性能测试。

发布了13 篇原创文章 · 获赞 0 · 访问量 3494

猜你喜欢

转载自blog.csdn.net/weixin_42890739/article/details/104478651