工作了一些时日,准备致力于下一阶段的提升了,于是趁现在把最开始自学时所接触到的内容再串起来回顾一遍。

一、测试用例设计

1.开发模型

(1)瀑布模型

优点:开发各个阶段清晰;强调早期计划及需求调查;适合稳定需求的产品开发。

缺点:测试阶段处于软件实现后,必须在代码完成后留出足够的时间给测试活动,否则将导致测试不充分,很多问题到项目后期才暴露。

改良:每个阶段融入小的迭代工作

(2)快速原型模型

实现一个基本原型,让用户对其评价,逐步调整,使其满足最终需求。

快速分析-需求说明-构造原型-原型-运行原型-评价原型-修改意见

优:适合不能缺定需求的软件

缺:不适合开发大型系统

(3)螺旋模型

需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目中,如果未能及时标识风险,势必造成重大损失。

2.测试模型

(1)V模型

需求分析-概要设计-详细设计-编码-单元测试-集成测试-系统测试-验收测试

单元测试:模块测试。针对单一的程序模块进行的。

集成测试:组装测试,联合测试。在单元测试的基础上,对模块整体进行测试。

系统测试:将整个软件看作一个整体来进行测试,包括对功能、性能以及软件所处的软硬件环境。前期主要测试系统的功能是否满足需求,后期主要测试系统运行的性能、兼容性等等。

验收测试:

(a)内测版(alpha)主要是测试人员在开发环境下的测试,不建议用户安装;

(b)公测版(beta)在实际环境中的测试,或者公司内容人员在模拟真实环境中的测试,面向所有用户,通过反馈修改细节;

(c)候选版(gamma)与正式版相差无几

V模型优缺点:

优:包含了底层测试(单元测试)和高层测试(系统测试);清楚标识了开发和测试的各个阶段;自上而下逐步求精,每个阶段分工明确,便于把控

缺:自上而下的顺序导致测试工作在编码之后,使错误不能及时修改;需求变更时,V模型步骤反复执行,返工量大,灵活度较低

改进:每个步骤可进行小的迭代

(2)W模型

开发一个V,测试一个V,组合起来的双V模型。

开发V:需求分析-概要设计-详细设计-编码-集成-实施-交付;

测试V:验收/系统测试设计-集成测试设计-单元测试设计-单元测试-集成测试-系统测试-验收测试

W模型优缺点:

优:测试伴随整个开发周期,需求和设计同样要测试;更早的介入测试,可以发现初期的缺陷,修复成本低;分阶段工作,方便项目整体管理

缺:开发和测试依然是线性关系,需求的变更和调整依然不方便;如果没有文档,根本无法执行W模型;对于项目组成员的技术要求更高

(3)H模型

测试流程分为

测试准备:所有测试执行活动的准备;判断是否到达测试就绪点;

测试就绪点:测试准入准则,即是否可以开始执行测试的条件;

测试执行:具体的执行测试的程序

软件测试流程完全独立,贯穿整个生命周期,且与其他流程并发进行。可尽早准备、执行,有很强的灵活性,也可以迭代。管理型要求高、技能要求高、就绪点分析困难,对整个项目组的人员要求非常高。

总结:V适合中小企业;W适合中大企业,对人员要求高;H对人员要求非常高,很少公司用。

3.软件测试分类

黑盒测试:数据驱动测试,不考虑内部结构和特性,只注重软件的功能需求;

白盒测试:研究源代码和程序结构。

静态测试:不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误过程。

动态测试:实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符。

随机测试:探索测试。针对重要功能、新增功能、特殊情况、以前发现过重大bug的模块进行二次测试。可结合回归测试。

测试用例:解决测什么,怎么测的问题

4.等价类划分法

属于黑盒测试方法,将不能穷举的测试过程进行分类,从而保证完整性和代表性;

1)确定有效等价类和无效等价类;

2)有效等价类划分(题目条件,还要注意边界值,中间随机值);

3)无效等价类划分(与2相反,以及其他特殊情况:中文、英文、特殊符号、空格、空);

注:两个框要一个正确,一个错误,才好判断;要根据需求来判断预期结果。

等价类考虑细节:输入长度、输入类型、组成规则、是否为空,是否区分大小写,是否重复,是否去除空格。

5.边界值法

在程序中边界常容易出问题。

测试用例书写思路:找到边界值和它两端的值分别进行测试。

边界值和等价类相辅相成。

6.因果图法

因:输入条件

果:输出条件、输出结果

适用于输入条件之间有相互制约的、依赖的情况。

符号:恒等 有因就有果,没有因就没有果;非;或;与(且)

判定表

根据因果图来制作判定表

组成:

条件桩:所有条件  动作桩:所有结果

条件项:针对条件桩的取值    动作项:针对动作桩的取值

步骤:

1)列出所有条件和动作桩;

2)填写条件和动作桩中的项目;

3)简化判定表;

注:出现“-”代表此选项不影响最终结果。

案例:好学生判断

7.场景法

主要用来测试业务流程,分为基本流(正确流程)和备选流(错误流程)。比如冒烟测试中使用。

还要补充一些异常情况。

流程分析法:主要是针对测试常见类型属于流程测试场景的测试项下的测试子项进行设计,是从白盒测试设计方法中的路径覆盖分析法借鉴过来的。

适用于有先后顺序的测试;常用于业务流程、安装测试等。每个流程就是一条测试用例,它只是在测试整体流程是否正确,细节还需要使用等价类、边界值等方法进行完善。

8.错误推断法

凭直觉和经验设计测试用例,根据之前项目相关的bug数据总结而来。

9.正交表

从全面试验中挑选出有代表性的点进行测试(均匀分散,整齐可比);高效、快速、经济。

使用方法:

1)根据控件和取值数选择一个合适的正交表;

2)列举取值并编号,生成取值表;

3)把取值表与选择的正交表进行映射

编号 字体 字符样式 颜色 字号
1

仿宋

粗体 20

2

楷体 斜体 绿 30
3 华云 下划线 40

使用正交工具生成数据,此处用的allpairs,当然因素水平不多的前提下,按科学方法自己编排也可以。

混合正交表工具——allpairs

实际工作中,很多情况是因素和水平不同,在现成的正交表中找不到对应的表格,此时需用混合正交表工具来生成混合正交表:

使用步骤:

1)只做取值表(不需标号,列出数据即可)

Eg.体型    年龄段     性别

胖     老年       男

适中   青年       女

瘦     儿童

2)复制表格中的数据放在一个新建的TXT文档中,保存到allpairs文件夹中(eg:text2.txt)

3)在DOS窗口中,进入allpairs文件夹

4)输入allpairs.exe text2.txt>biao.txt

biao.txt存放的就是正交结果。

10.测试方法的选择

根据程序的重要性和一旦发生故障将造成的损失来确定测试等级和重点。此外,测试要及时被终止。

参考思路:

若测试功能和流------场景法;

要输入数据------等价类划分,搭配边界值;

若有条件组合------因果图,制作判定表;

配置软件类,组合较多------正交表;

若没有达到覆盖标准,要增加测试用例;

追加错误推断法

11.软件缺陷

判断依据:

1)未达到规格说明书标明的功能;

2)软件出现了ggsms指明不会出现的错误;

3)功能超出了ggsms指明的范围;

4)未达到ggsms虽未指出但应该达到的目标;

5)软件测试员或用户觉得不好。

缺陷的表现形式:功能、特性没有或部分实现;设计不合理、功能不明确、逻辑不清楚或存在矛盾;实际与预期不同;没达到ggsms要求的性能指标;运行错误、崩溃、中断、界面混乱;数据不正确、精度不够、不完整或格式不统一;用户不能接受的其他问题,如存取时间过长、界面不美观;硬件或软件存在其他问题

缺陷的状态:提交、打开(待处理)、拒绝(程序员认为不是缺陷或重复,可修改为拒绝)、修复、关闭(测试员觉得问题解决了)、推迟(可放在后续版本解决,但要详细写出修复的日期或版本)

严重程度:low(表面性错误)--medium(影响一个相对独立功能、仅发生在特定条件下、与需求定义不一致,陆续出现问题)--high(功能点未实现、不符合用户需求、数据丢失)--veryhigh(频繁死机、大部分功能不能用)--critical(系统瘫痪、异常退出、死循环、严重的计算机错误)

测试优先级:low(时间和资源允许的情况下修复)--medium(不会延迟发布,会在以后修复)--high(会制约开发和测试的进行,需要在发布前修复)--veryhigh(影响系统,产生重要影响)--urgent(导致系统几乎不可用)

缺陷分类:系统缺陷、数据缺陷、数据库缺陷、接口缺陷、功能缺陷、安全性缺陷、兼容性缺陷、性能缺陷、界面缺陷、建议

缺陷报告注意事项:尽量保证缺陷可以重现;简介、准确、完整;一个报告只写一个缺陷。避免常见错误(情绪化语言,强调符号;模糊语句;自认为幽默的语言;不确定的缺陷)

缺陷报告书写规范:

1)标题简介,提供缺陷的本质信息即可;

2)复现的步骤要详细,用数字标号;

3)实际结果要描述清楚复现后的结果;

4)列出期望结果;

5)提供附件;

6)提供严重性属性和其他公司需要填的属性。

缺陷密度:每千行代码的缺陷个数。

12.SVN基本操作

添加、删除……

改名文件移动:在tsvn的“版本库浏览器”中操作(如果在服务器的版本库浏览器设置,直接可以实现一个默认的提交,如果不是,则还需要提交)

更新至版本 “更新至版本”,在日志里找。

软件测试入门自学笔记(1)测试用例设计相关推荐

  1. Python在入门-自学笔记-8字典

    Python零基础入门自学笔记 参考教程[Python教程]<零基础入门学习Python>最新版@B站@鱼C-小甲鱼 本文记录的主要是Python中的字典. 映射关系 效率会比列表快 0. ...

  2. 软件测试怎么测边界值,软件测试用例设计之边界值分析法(示例代码)

    软件测试用例设计之边界值分析法 一.定义 对输入或输出的边界值进行测试的一种黑盒测试方法.通常边界值分析法是作为对等价类划分法的补充,其测试用例来自等价类的边界 二.与等价类划分的区别 边界值分析法首 ...

  3. 【软件测试-实验-4】黑盒测试用例设计(二)

    一. 实验目的 1.掌握黑盒测试用例设计方法: 2.综合运用所学的黑盒测试方法设计进行测试用例设计: 3.掌握测试用例的编写方法. 二. 实验内容 1.使用因果图法对交通一卡通自动充值模拟软件系统进行 ...

  4. 场景法设计测试用例atm_软件测试零基础入门:常用八大测试用例设计方法,含案例...

    测试用例的十大特点 测试用例编号.测试项.测试标题.用例属性.重要级别(高中低).预置条件.测试输入.操作步骤.预期结果.实际结果: 测试用例的编写原则:100%的覆盖需求文档,如需求变更时,测试用例 ...

  5. 软件测试笔记,测试用例设计

    一.输入框 1.1.普遍输入框 一致性:验证输入与输出的信息是否一致 正确性:输入框之前的标题是否正确 按键限制:对Tab字符的处理机制 按键影响:按下ctrl和alt键对输入框的影响 约束状态:对于 ...

  6. JAVA入门自学笔记

    本人做了几年电力行业,发觉IT行业更加有前景,故跳槽转到IT行业,先做了半年集成从硬件.数据库开始接触,现在慢慢的在看一些开源的社区工具,越发感觉有几年研发经历的重要性,遂抽空开始自学java,此笔记 ...

  7. 软件测试入门学习笔记

    一.软件测试介绍和分类 什么是软件测试? 检测开发出的软件的实际功能是否与预期功能相符合.目前,软件测试就是保证软件质量符合用户需求的一系列手段 职业发展 功能测试------>自动化测试/性能 ...

  8. 【学习笔记】前端入门自学笔记(二)

    前言 本笔记是b站黑马程序员前端入门教程的听课笔记,主观性较强,初衷是与大家共同交流,一起进步. 目录 前言 表格标签 1.表格的主要作用 2.表格的基本语法 3.表头单元格标签 4.表格相关属性 5 ...

  9. Android入门自学笔记

    Android入门 前几个月要去作物联网项目,花了一个月入门android本文写于物联网大赛后 Android入门所需书籍 <android第一行代码>-----入门必看书.这本书实例和理 ...

最新文章

  1. python3多线程----锁机制
  2. PyCharm——turtle库的画布悬停解决方案
  3. 问题一:使用AndroidDriver而非原来的AppiumDriver的原因
  4. java获取tomcat目录结构_tomcat目录结构简介_动力节点Java学院整理
  5. 班尼机器人维修方法_梅州市ABB机器人控制器维修中心
  6. [html] 你知道著名的3像素Bug指的是什么吗?怎么解决呢?
  7. 设计模式C++实现_2_简单工厂模式
  8. 剑指offer最新版_剑指Offer——Java版本(持续更新)
  9. Lesson2.2 2.3 Maya command reference quick help
  10. [转] 解决windows下eclipse中android项目关联android library project失败问题
  11. 如何用python设计一个计算器程序_如何使用 50 行 Python 代码制作一个计算器
  12. java实例化全局变量_静态/全局变量的内存隔离(多实例化)
  13. JDK集合源码解析剖析
  14. 交换机解决电脑IP地址冲突
  15. 【H3C设备组网配置】第一版
  16. 钕铁硼的尺寸与形位公差
  17. 无限循环小数与分数的对应关系证明
  18. 现钞和现汇有什么区别??
  19. 2007年9月计算机等级,2007年9月第26次全国计算机等级考试总体安排
  20. JAVA里的空白\t\n\r分别代表什么?

热门文章

  1. 使用PC端谷歌Chrome浏览器浏览手机网页 修改PC端谷歌Chrome浏览器UA
  2. 国庆拥堵现象说明了什么?
  3. Combo( 自定义下拉框) 组件
  4. C++ Reference: Standard C++ Library reference: C Library: cstdio: printf
  5. OnLevelWasLoaded 弃用 Unity5.4 新方法 SceneManager.sceneLoaded
  6. Invertible Image Rescaling 可逆图像缩放:完美恢复降采样后的高清图片(ECCV 2020 Oral )
  7. SpringBoot使用SpringDataJPA通过方法名查询
  8. 市场模式缭乱,合适的模式脱颖而出?众筹卖货模式在线分享分析
  9. 世界杯中隐藏的IoT物联网黑科技
  10. Charles(Mac)抓取安卓手机app的包