028-86261949

当前位置:首页 > 技术交流 > 软件测试的重要性

软件测试的重要性

2019/11/15 11:06 分类: 技术交流 浏览:1

 

1、什么是计算机软件:

软件和硬件共同组成了现在我们使用的计算器,二者缺一不可。潜在的如果只有硬件,那么我们面前的电脑就是一个好看的摆设。我们可以简单的将计算机硬件比作我们人的器官(包括四肢,内脏......),将人的思想比作计算机的软件。

可用公式表示如下:

计算机 = 硬件(显示器+主机+键盘+鼠标) + 软件(程序 + 数据 + 文档)

程序:按事先设计的功能和性能要求执行的指令集合。

          数据:使程序能够适当地操作信息的数据结构。

          文档:软件开发维护和使用过程中产生的材料,可以简单理解为说明文档。

计算机软件的概念可能相对于硬件比较抽象,或者说是不便于理解的。计算机硬件可能是实实在在看的到摸得着的东西,比如:显示器,主机,鼠标,键盘等。但是软件可能一直在使用,但却不能直观的摸着,比如我们平时使用的Windows操作系统,QQ,微信等,这些相对而言比较抽象,但却是我们每天无时无刻不在使用的东西。

 

 

2、软件缺陷

任何事物都是有缺陷的,软件也不例外。

计算机是由人类来发明的,计算机软件也是由人设计编写的。是人就会犯错误,这个是不争的事实,所以计算机软件也必定会存在各种各样的问题。

 

3、软件缺陷案例

  (1)、2018 年 10 月 29 日,印度尼西亚狮航一架波音 737 MAX 8 从首都雅加达起飞 13 分钟后,在附近海域坠毁,机上 189 人无一幸免。2019 年 3 月 10 日,埃塞俄比亚航空一架波音 737 MAX 8 从首都亚的斯亚贝巴起飞后约 6 分钟,飞机坠落,8 名机组人员和 149 名乘客无人生还。两起空难与飞机自动防失速系统“机动特性增强系统”(MCAS)有关;

  (2)、爱国者导弹防御系统时钟的一个很小的计时错误积累起来到14小时后,跟踪系统不再准确,导致28名士兵死亡;

  (4)、千年虫问题导致损失已达数千亿美元;

  (5)、闰年虫导致闰年2月29日1500多辆出租车时间性锁表故障;

(6)、12306春运崩溃······

这几个都是软件缺陷引起的例子,除了这些还有很多。随着软件越来越复杂,支持的功能越来越多,软件的问题也会越来越多,这很好理解。比如我做了10件事,那么可能只有1件事会出问题,但是如果我做了100件事,那么很有可能不只有10件事有问题。这就是我们经常说到的:做的多,错的多。

 

 

4、软件测试的重要性

错误从来不分大小,只是错误所带来的影响分大小。有些错误影响很小,可能微乎其微,但有些错误很大,世人皆知。我们没办法准确的预知问题的影响到底有多大(这点在软件上尤其明显,可能一个小小的标点符号,都可能造成系统的崩溃),所有我们必须经尽可能的在软件面向用户使用的时候减少软件的问题(没有任何一个人能保证一款软件没有任何问题)。这就是一个软件测试人员需要完成的工作,要尽可能的发现软件缺陷,并推动问题的解决。

任何的产品,都不希望出现质量问题。如何发现软件缺陷,是一个合格的软件测试的评判标准,如何发现潜在的软件缺陷,是一个优秀的软件测试的职责,也是每一个软件测试从业人员的目标。

 

 

5、软件测试分类:

目前业内大致将软件测试划分如下:

A、黑盒测试、白盒测试

        B、单元测试、集成测试、系统测试

C、手工测试、自动化测试

D、功能测试、性能测试、安全测试、接口测试

 

 

6、其余相关问题:

  1、软件产品规格说明书往往是软件缺陷存在最多的地方,主要原因有哪几种?

  (1)、软件产品还没有设计开发,只能完全靠想象去描述,导致软件中的特性不够清晰。

  (2)、需求变化不一致性,用户的需求会不断变化,若在说明书中没有得到正确描述,容易引起矛盾。

  (3)、整个开发队伍中缺乏充分沟通,设计师、项目经理和开发人员得到的信息差异过多。

  (4)、不够重视规格说明书。

 

  2、单元测试、系统测试、集成测试的区别:

  不同的测试阶段,针对的测试问题是不一样的。

  (1)、单元测试:程序内部代码和结构问题。

  (2)、集成测试:模块和模块之间的接口和参数传递规则的问题。

  (3)、系统测试:整个系统,模拟用户最终使用时可能出现的问题。

 

#标签:软件测试的重要性