GEEK学习笔记— —程序员面试宝典笔记(六)

所谓笔记,就是比较个人的东西,把个人觉得有点意思的东西记录下来~~

程序员面试宝典笔记(一)基本概念
程序员面试宝典笔记(二)预处理、const和sizeof
程序员面试宝典笔记(三)auto_ptr、递归
程序员面试宝典笔记(四)面向对象、类型转换、static
程序员面试宝典笔记(五)数据结构基础
程序员面试宝典笔记(六)软件测试

题目

功能测试和可用性测试之间的区别

答案

功能测试主要是黑盒测试,由测试人员进行,主要验证产品是否符合需求设计的要求;

可用性测试主要是由用户(或者测试人员模拟用户行为)来进行的测试,主要是对产品的易用性进行测试,包括有效性、效率和用户主观满意度。

题目

一个学生60分才及格;80分可以得优;100分满分。下面的4个选项中哪一个边界测试是最好?
A.-1,0,59,60,79,80,99,100
B.0,59,79,100
C.0,1,59,69,70,80,100
D.60,80,100

解析

边界值测试,就是找到边界,然后在边界及其边界附近(这里应该包括边界两侧)选点。因此边界0(隐含需求边界),60,80,100要测试,边界另一侧的-1,59,79,99也要测试。对于选项B、D,只覆盖了边界的一侧,而选项C中的69和70跟边界无关,所以A相对最好。

PS:
健壮性测试:健壮性测试是边界值分析的一种简单扩展。除了变量的5个边界值分析之外,还要分析变量值比最高值高出一点和比最低值低一点的情况下会出现什么反应。

最坏情况测试:边界值分析时是在单缺陷的假设下进行的。如果不做此假设,那么就会出现同时有多个变量取边界值的情况。最坏情况测试的测试用例的获取,是对每个变量,先进行包含5个边界值元素集合的测试,然后对这些集合进行笛卡儿积计算,以生成测试用例。

特殊值测试:这种测试不需要使用任何测试方针,只使用最佳工程判断。因此,该方法与测试人员的能力密切相关。

随机测试:这种方法不是永远选取有界变量的最小值、略高于最小值、正常值、略低于最大值、最大值,而是使用随机数生成器生成测试用例值。这种测试用例的获取需要用程序来得出,而且还涉及测试覆盖率的问题。

答案

A

题目

白盒测试与黑盒测试区别

答案

黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。

白盒测试:已知产品的内部工作过程,可以进行测试证明每种内部操作是否符合设计规格要求,所有内部成分是否经过检查。

黑盒测试
测试特点:测试功能;
测试依据:需求规格说明书
方法举例:边界值分析法、等价类划分法、因果图法、决策表法
优点:能站在用户的立场上进行测试
缺点:不能测试程序内部特定部位,如程序有误,则无法发现。
黑盒测试主要是为了发现以下错误:
(1)是否有不正确或者遗漏了的功能;
(2)在接口上,输入能否正确的接受?能否输出正确的结果?
(3)是否有数据结构错误或外部信息(例如数据库文件)访问错误?
(4)性能上是否能够满足要求?
(5)是否有初始化或终止性错误?

白盒测试
测试特点:测试程序接口与结构
测试依据:软件程序
方法举例:语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、条件组合覆盖、路径覆盖
优点:对程序内部特定部位进行覆盖测试。
缺点:无法检验程序外部特性。
白盒测试主要是想对程序模块进行以下检查:
(1)对程序模块的所有独立的执行路径至少测试一遍;
(2)对所有的逻辑判定,取”真“与”假“的两种情况都能至少测一遍;
(3)在循环的边界和运行的界限内执行循环体;
(4)测试内部数据结构的有效性,等等;
(5)静态白盒测试 :即代码审查,正式审查和检验设计和程序代码;
(6)动态白盒测试 利用查看代码功能和实现方式得到的信息来设计和执行测试,也叫结构测试;

你可能感兴趣的:(C++,程序员面试宝典)