1.软件是什么?
软件是计算机系统中与硬件相互依存的另一部分,它包括程序与文档的完整集合。
软件 = 程序 + 文档,所以对软件的测试不仅仅只包括程序,还包括文档。
软件的分类
(1).基本分类
i.系统软件:
操作系统、操作系统补丁程序、驱动程序
ii.应用软件
(2).按照软件结构 — 软件的运行是否基于网络
i.单机软件
ii.分布式软件:
a.C/S(client/server):客户端需要使用专门的软件
b.B/S(browser/server):客户端只需使用浏览器就可以访问服务
2.软件缺陷是什么?
(1).软件未实现产品说明书要求的功能。
例如:一台计算器的产品说明书要求它能够进行加、减、乘、除运算。作为软件测试员按下(+)键,没有任何反应,则是一个软件缺陷。
(2).软件出现了产品说明书指明不会出现的错误。
例如:产品说明书声称计算器在狂按键盘的时候也不会崩溃,当软件测试员狂按键盘,计算器崩溃了,这是一个软件缺陷。
(3).软件功能超出产品说明书指明范围。
例如:产品说明书并未要求平方的功能,而开发者加入了平方的功能,这也是一个软件缺陷。
(4).软件未达到产品说明书指出但应达到的目标。
例如:产品说明书也是有遗漏之处的,比如一个输入的编辑框,一开始是比较小的。随之我们输入的时候,当输入内容超出编辑框的时候,编辑框应该自动加长。这个在产品说明书中并没有说明,但是要实现。如果没有实现,便是软件缺陷。
(5).软件测试员认为阮籍爱你难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。
例如:点开计算器的程序弹出在边边角落,软件测试员认为弹出在屏幕正中间更合理,这边也是缺陷。
+从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;
+从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。
3.软件测试是什么?
简单来说,软件测试就是在现有的软件中寻找缺陷的过程。
软件测试的定义
- 使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
4.软件测试的历史
Bug的由来:
+我们一般将软件缺陷(defect)称为Bug
+1947年,哈佛大学的Mark II突然停止了工作,后来发现一只飞蛾粘在了继电器上。计算机软件缺陷便由此诞生了。
历史上著名的软件缺陷案例:
(1).英特尔奔腾浮点除法软件缺陷:
一位博士在他的奔腾PC机上进行了以下计算:
(4195835÷3145727)×3145727−4195835
结果出现了意想不到的结果(由于精度原因),他把问题放到因特网上,引发了一场风暴。英特尔表示在进行内部测试时已经发现了该问题,但由于管理层认为没有严重到要保证修正以及公开,最后英特尔为此行为道歉并拿出4亿美元来支付更换芯片的费用
(2).千年虫
最早的计算机存储空间都很小,为了节省每一个字节,程序员将4位数的年份缩减为2位,如1973可以储存为73。当道了2000年的时候便出现了大问题,造成的顺势超过数亿美元。