一. 软件产品质量模型

1. 软件产品质量六属性:功能性、可靠性、易用性、效率、可维护性、可移植性。

1.1. 功能性:

软件产品质量属性中的功能性,是指软件产品在指定条件下使用时,提供满足明确和隐含要求的功能的能力。
从功能性的定义来看,产品的功能并不像表面上看起来那么简单 - 除了满足 “明确” 的要求,还有更深一层的 “隐含” 的要求。“明确”+“隐含” 才构成了用户对产品真正的、完整的功能要求。
功能性被分成了 5 个子属性:

1.2. 可靠性: 软件产品质量属性中的可靠性,是指在特定条件下使用时,软件产品维持规定的性能级别的能力。

可靠性被分成了 5 个子属性:
成熟性:软件产品为避免因软件故障而导致失效的能力。
容错性:软件产品在软件发生故障或者违反指定接口的情况下,维持规定的性能级别的能力。
可恢复性:软件产品在失效发生的情况下,重建规定的性能级别并恢复受直接影响的数据的能力。
可靠性顺从性:软件产品遵循与可靠性相关的标准、约定或规定的能力。

1.3. 易用性:

1.4. 效率: 软件产品质量属性中的效率,是指在规定条件下,相对于所用资源的数量,软件产品可提供适当的性能的能力。通常,效率就是我们常说的产品选性能。

1.5. 可维护性: 软件产品质量属性中可维护性,是指 软件产品可被修改的能力。这里的修改是指纠正、改进软件产品和软件产品对环境、功能规格变化的适应性。

1.6. 可移植性:

2.常见测试类型及其与质量属性关系:

3.测试方法:

3.1. 产品测试车轮图:

  

3.2. 功能测试方法:

3.3. 可靠性测试方法:

3.4. 性能测试方法:

测试出系统最好的性能值:
系统能够正确处理新业务的最大能力
系统能够同时正确处理的最大业务能力

分析会影响性能值的各种因素,测试它们对性能的影响
以场景为单位来测试性能   
  

3.5. 易用性测试方法:

一致性测试法:
测试对象:用户界面,如 Web 页面、命令行等用户和产品直接进行交互的地方。
关注产品的用户界面:
风格、布局、元素上是否一致、统一。
布局的合理性、操作的合理性、提示等是否符合 UI 设计规范。

可用性测试法:
测试对象:用户界面。
关注产品提供的功能:对用户来说,是否易于学习理解、易于使用。
可用性测试,需要和功能测试结合,以场景作为测试粒度,以用户的视角进行测试。

  

4. 测试设计技术:

4.1.测试点不等于测试用例:测试用例是在测试点 “加工” 的基础上得到的。

4.2.四步测试设计法:

4.2.1.建模:

4.2.2.设计基础测试用例。

4.2.3.补充测试数据。

4.2.4.扩展。

4.3.对测试点进行分类:

4.3.1. 流程类测试点有哪些特征: 流程类测试点,拥有流程方面的一些特征。

4.3.2. 参数类测试点有哪些特征:

4.3.3. 数据类测试点有哪些特征:

      

4.3.4. 组合类测试点有哪些特征:

4.4 流程类测试设计:

4.4.1. 路径分析法:

4.4.2. 路径分析法:

4.4.3. 使用路径分析法来设计基础测试用例:

1. 单元测试阶段:主要使用语句覆盖或分支覆盖的方式,来设计测试用例;

2. 集成测试和系统测试阶段:主要使用最小线性无关覆盖;

3. 特别重要的部分:使用全覆盖;

4. 不那么重要的部分:使用 语句覆盖或者分支覆盖。

4.4.4. 确定测试数据,完成测试用例:

4.4.5. 根据经验补充测试用例:

4.5. 流程类测试设计 - “输入 - 输出表” 分析表:

4.6. 数据类测试设计 - 等价类和边界值分析法:

    

1. 等价类和边界值:

4.7. 组合类测试设计 - 正交分析法:

4.8. 控制用例粒度 - 测试点的组合和拆分:

4.9.错误推断法:

5. 探索式测试:

      

      

      

4. 开展探索式测试:

1.确定探索式测试任务:

1.1 确定任务的范围:

1.2 三者之间关系图:

        

1.3 根据范围和方法来确定探索式测试的任务:

2. 设计探索地图并执行探索式测试:

2.1 探索地图,就是测试者根据被测对象的特定,使用探索式测试方法,分析得到的测试点,然后就可以按照测试点对被测对象进行探索式测试,并记录测试结果。

        

3. 探索性测试总结:

6. 自动化测试:

1. 对软件测试架构师来说,掌握自动化测试相关的知识和技术是必要的,但是掌握这些知识的目的不是设计自动化的架构或是具体来部署自动化,而是用好自动化:

2. 自动化并不廉价,相反,自动化很贵:

3. 自动化脚本往往没有想象中那么可靠:

4. 自动化测试不是单靠测试就能搞定的事:

5. 如何评估自动化的收益:

1.自动化测试的实施成本:

2. 自动化测试的运行次数:

  

3. 自动化测试实施成本比:

7. 软件测试架构师的软能力修炼:

1. 沟通和协商:

2. 写出漂亮的测试用例。


↙↙↙阅读原文可查看相关链接,并与作者交流