软件测试基础

  1. 软件的复杂度已经超越了人的理解能力

     1. 虽然高抽象的层次语言,程序框架,程序库等提高了人的生产力,但是还是需要开发者深入理解细节,可以减少开发时间,但是无法减少开发者学习整个技术栈的时间
    2. 对于复杂的软件,如果测试人员不能掌握全部的信息,那么他的测试策略已经会错误(对于开发也是如此),所以需要和各个工作岗位的人进行协作
    3. 软件复杂,所以测试用例需要进行迭代,持续地评估和反思
    4. 大规模的软件中,对于少量代码的变更都不能掉以轻心
    5. 单凭人的脑力已经很难应对复杂的软件测试了,测试人员需要考虑测试自动化来对付这种情况
  2. 测试步骤

     1. 第一个测试周期
    1.1 从显而易见的简单测试开始 (因为这个时候测试人员对于软件还不熟悉)
    1.2 记录还需要测试什么
    1.3 检查有效用例并观察发生了什么 (根据第一步的信息开始设计第二步和第三步)
    1.4 做一些快速的测试
    1.5 总结对程序和问题的认识 (开始反思,总结,准备下一阶段的测试) 2. 第二个测试周期
    2.1 在进行任何测试之前都给予评估
    2.2 评审对不修复的问题的意见
    2.3 找出上次的测试笔记,加入新的笔记,并且开始测试
  3. 测试人员的工作效率取决于他对软件和项目的理解,而不是他的测试技术(对于开发也是如此)

     1. 理解产品
    2. 理解用于期望
    3. 理解产品的架构和源码(做到这点已经不是单纯地测试了)
    4. 回避浪费时间却没有收益的任务
    5. 了解产品的元素和项目团队,知道出问题找谁
    6. 良好地同事关系

缺陷报告

1. 程序员要阅读缺陷报告,了解缺陷的症状和步骤,好的缺陷报告可以帮助程序员快速定位问题,坏的缺陷报告只能浪费调试时间

2. 产品经理要阅读缺陷报告,了解缺陷的症状和严重性,好的缺陷报告可以帮助产品经理设定优先级,差的缺陷报告会误导他做出错误的决定

3. 在大型项目里面,缺陷报告是对于一个开发和测试评测的一个工具

  1. 报告缺陷是为了让缺陷得到修复

     1. 清楚说明对用户的危害
    2. 提供尽可能多的技术信息,方便程序员调试
    3. 今早提交缺陷报告
    4. 报告发现的所有缺陷,即便有些缺陷难以重现
  2. 七大产品元素

     1. 结构,在文件级别,构成的元素是各种文件,在代码级别,是各种类,函数等
    2. 功能,软件相关功能
    3. 数据,比如测试图片,有BMP,PNG等格式
    4. 接口,比如用户界面,系统API等
    5. 平台
    6. 操作,可能的操作组合
    7. 时间
  3. 测试人员应该先提出假设,然后再实验,特别是在发现一些本来重现过但是没有办法再重现的问题

测试文档

  1. 识别风险

     1. 自动化测试用例:该区域有自动化测试用例吗?? 测试在定期运行吗?? 测试通过率是多少?? 测试覆盖了哪方面,没有覆盖哪方面?
    2. 手动测试: 有人手动测试该区域吗? 经过测试,对该区域有多少信心? 如果满分是10分,打多少分??
    3. 代码变更: 该区域近期存在代码变更吗? 变更频繁吗? 近期是新增功能,代码重构,还是缺陷修复??
    4. 代码复杂度: 代码规模是多少,代码是否复杂,如果复杂是10分,改区域得多少分? 5. 产品缺陷: 该产品缺陷多吗?? 有哪些典型的缺陷,哪些缺陷已经被修复,哪些缺陷还没有被修复

测试建模

	1. 两因素组合测试,可以暴露由两个因素变量共同作用而引发的缺陷
2. 多因素组合测试, 生成的测试集可以覆盖任意N个变量 1. 启发式建模方法
2. 输入与输出模型建模
3. 系统生态图
4. 实体关系模型
5. 状态机模型

测试开发

1. 自动化测试应切合当前的产品
2. 自动化测试应聚焦风险,重点解决产品面临最大的风险,不必面面俱到
3. 自动化测试应该在资源允许的范围内尽力扩展测试领域,提供多样化的测试
4. 自动化测试应该讲究实用,测试人员需要根据项目语境选择合适的开发策略 自动化测试金字塔:
最底层是单元测试和组件测试,由开发人员维护
然后是中层是面向业务的自动化测试
顶层是少量基于图形界面的自动化测试
金字塔上方是手工测试

<<软件测试实战>>读书笔记的更多相关文章

  1. csapp读书笔记-并发编程

    这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...

  2. CSAPP 读书笔记 - 2.31练习题

    根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1)  属于第一种情况 sum = x ...

  3. CSAPP读书笔记--第八章 异常控制流

    第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...

  4. CSAPP 并发编程读书笔记

    CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...

  5. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  6. 读书笔记--SQL必知必会18--视图

    读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...

  7. 《C#本质论》读书笔记(18)多线程处理

    .NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...

  8. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

  9. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  10. Web高级征程:《大型网站技术架构》读书笔记系列

    一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...

随机推荐

  1. Appweb写法

    web.xml v2.3 <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web- ...

  2. vi & vim复制,粘贴,剪切文本

    我经常用vi编辑器,但基本上还是windows的习惯,没有系统的学过其功能,今天遇到了文本的复制这没有办法了,查看一下解决如下: 引用文本: ----------------------------- ...

  3. asp.net页面事件执行顺序

    转自http://www.cnblogs.com/hnlyh/articles/4230388.html C#代码 using System; using System.Data; using Sys ...

  4. Java记事本编译

    配置环境: 在“系统变量”栏下执行三项操作:①新建“Java_Home”,设置其值为 JDK所在的绝对路径,如果你的事刚才的默认路径,那值为:C:\Program Files\Java\jdk1.7. ...

  5. 探索软件工程道路上的我III (Θ∀Θ#)

    github地址:https://github.com/JUNYU217/2016-03-08 开发语言:Java 开发工具:UltraEdit || 为月末了,网费欠了...很抱歉的拖了那么久的作业 ...

  6. Cosh.2

    没壳 直接拖 一开始  字符长度不对.   所以  输入都超过5   就没什么问题了 发现下面的跳转都是跳到eorr的 那不跳的条件呢 看来他们必须要相等.单步跟踪就会发现eax指向的是我们的Seri ...

  7. 12、c#中事务及回滚

    public void UpdateContactTableByDataSet(DataSet ds, string strTblName) { try { SqlDataAdapter myAdap ...

  8. flash上传控件跨域

    工作中需要使用百度开发的ueditor,但服务器部署中前端代码和后端代码在不同的域名下,现已解决的前端调后端代码的跨域问题.可是,ueditor中的上传图片flash控件也涉及跨域问题,经过查找发现可 ...

  9. 用UltraEdit软件替换回车换行的窍门

    转载:http://www.zhuantilan.com/jiqiao/46518.html 方法/步骤 1.打开一个原始文档,在文档中各个人物名称是以逗号分隔的,我们下面来尝试把逗号替换为换行符. ...

  10. Add and Search Word

    Trie 树的一个应用 Design a data structure that supports the following two operations: void addWord(word) b ...