软件测试

来源:互联网 发布:手机c语言编辑器中文 编辑:程序博客网 时间:2024/06/07 09:31

孙雪冬老师给的考点(来自嵌软)

 

第一部分

软件测试术语

什么是软件缺陷

软件缺陷产生的原因

最大原因所产品说明书,1,产品说明书常常没写——说不出来就做不出来。2,虽然有产品说明书,但是不完整,不停更改,或者说明书内容没有同开发小组其他成员沟通过。

 

软件测试目标

尽可能早一些找出软件缺陷,并确保其得以修复。

 

优秀软件测试员应该具有的素质

1,探索者,喜欢新环境,拿到新软件

2,故障排除员,喜欢解密

3,不放过任何蛛丝马迹

4,具有创造性

5,追求完美者

6,判断准确

7,注重策略和外交

8,善于说服。

在软件编程方面也受过教育。其他领域知识。

 

什么阶段进行测试

软件开发的生命周期模式(需要根据模式选择测试的方法)

大爆炸模式,几乎没有测试,或者软件即将交付时测试,应尽量避免这种模式。

边写边改模式,入门级。

瀑布模式,测试仅在最后进行,而一些根本新问题可能出现在早期。

螺旋模式,

为什么一般程序员会喜欢螺旋模式?

他们很早就参与开发过程,有机会尽早发现问题,为项目节省时间和金钱。

 

软件测试的原则(3.1的所有子标题)

1,完全测试程序是不可能的

2,是有风险的行为

3,测试无法显示潜伏的软件缺陷

4,找到的软件缺陷越多,就说明软件缺陷越多

5,测试越多,就对测试的免疫越强

6,并非所有软件缺陷都要修复

7,什么时候才叫缺陷难以说清

8,产品说明书从没有最终版本

9,软件测试员在小组中不受欢迎

10,软件测试是一项讲究条理的技术专业

第二部分(重点)

几个基本概念:黑盒,白盒,动态,静态

黑盒:只需要知道软件要做什么。只要进行一些输入,就能得到输出结果,功能性测试,行为测试。

白盒测试,可以访问代码,并通过检查代码的线索来协助测试。测试员可以使用说明书测试是因为:白盒测试就是使用如何设计影响如何测试的概念类进行的。测试员可以参加焦点人群、易用性研究和市场会议,了解用于定义功能特性和整个产品的过程,风险在于,这些信息会使得测试员倾向与假定说明书是正确的。

动态:使用和运行软件。 静态:检查和审查。

 

检查产品说明书:4.2.1~4.2.3

1,假设自己是客户

2,研究现有的标准和规范

3,审查和测试类似软件

 

低层次的测试技术

完成产品说明书的高级审查之后就可以做低层次的测试。

1,产品说明书属性检查清单(完整、准确、精确、一致、贴切、合理、代码无关、可测试性

2,产品说明书属于检查清单

 

第五章到第七章(重点的重点,大题出没)

动态黑盒测试

不深入代码细节测试软件的方法,且软件在运行,知道程序如何工作。

 

了解什么是探索测试(没有产品说明书时候的测试)

了解软件、设计测试、执行测试同时进行。

什么是通过性测试,什么是失效性测试

什么是等价划分

分步骤地把海量的测试用例集减得很小,但过程同样奏效。等价划分把具有相似输入、相似输出、相似操作的分为一组。

目标是把可能的测试用例集缩减到可控制且仍足以测试软件的小范围内。

注意本书中对一个软件的划分:一个是数据,一个是状态,要从这两个方面来测试

数据:包括键盘、鼠标点击、磁盘文件、打印输出等,程序是可执行的流程、转换、逻辑、运算,状态:软件当前所处的条件或者模式。

静态白盒测试:关于正式审查

在开发过程中早期发现软件缺陷,是修复的事件和费用降低,软件测试可得到软件如何运作的信息,存在哪些弱点和危险,而且可用和程序员建立良好的火棒关系,项目状态可用传给参与测试的所有小组成员。

不执行软件的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出缺陷,是为了尽早发现缺陷。为黑盒测试员提供思路

正式审查四要素,1确定问题,2遵守规则,3,准备,4编写报告

正式审查由哪些关键要素组成,(过程,按照过程进行正式检查是和2个程序员之间互查代码的区别

动态白盒测试

包括4个部分:

1,直接测试底层函数,过程,子程序和库

2,以完整程序的方式从顶层测试软件

3,从软件获得读取变量和状态信息的访问权

估算执行测试时“命中”的代码量和具体代码,然后调整测试,去掉多余

注意动态白盒测试和软件调试的关系

动态白盒测试的目标是寻找软件缺陷,调试是修复缺陷。有交叉。

单元测试,集成测试与系统测试

单元测试也即模块测试,对模块的组合进行集成测试。这样可以隔离软件缺陷 

如何进行动态白盒测试:数据与状态

数据测试的类型:数据流、次边界、公式和等式、错误强制

什么是代码行覆盖,分支覆盖,条件覆盖等。需要做到给你一个程序,你要能画出他的流

程图,能找出基本路径,能找出一组测试用例能覆盖这些路径。了解圈复杂度怎么算。

代码覆盖:必须测试程序的状态以及程序流程,必须设法进入和退出每一个模块,执行每一语句,进入软件的每一逻辑和决策分支。试图覆盖软件中的所有路径称为路径覆盖。路劲测试最简单的形式称为分支覆盖测试。条件覆盖:

 

界面覆盖:答:软件测试员应当检查其是否符合 个重要原则:符合标准和规范、直观、一致、灵活、舒适、正确和实用。 

 

答:灰盒测试是可以边看着代码、边利用代码的信息帮助测试。它不像白盒测试一样详细地检查代码。代码用来协助测试,但是测试并不完全基于代码。

第八章略

第九章 习题

第十章略

第十一章习题

第十二章略

第十三章习题

第十四章略

第十五章

非入侵工具与入侵式工具

第十六章

测试共享

缺陷轰炸的概念

什么是beta测试,进行beta测试时候需要注意什么问题

外包测试,什么情况适用外包测试