什么是软件测试?简介,定义,基础和类型

基础知识 · 2010-07-22

什么是软件测试?

“软件测试”定义为一项活动,以检查实际结果是否与预期结果相符并确保软件系统无缺陷。它涉及执行软件组件或系统组件以评估一个或多个感兴趣的属性。软件测试还有助于识别与实际需求相反的错误,空白或遗漏的需求。它可以手动完成,也可以使用自动化工具完成。有些人更喜欢将软件测试称为白盒测试和黑盒测试。

简而言之,软件测试意味着对被测应用程序(AUT)的验证。

为什么软件测试很重要?

测试很重要,因为软件错误可能代价高昂甚至危险。软件错误可能会导致金钱和人员损失,历史上充斥着此类示例。

  • 2015年4月,伦敦的彭博终端因软件故障而崩溃,这影响了金融市场上300,000多名交易员。它迫使政府推迟30亿英镑的债务出售。
  • 由于安全气囊感应器软件故障,日产汽车不得不从市场召回超过100万辆汽车。据报告,由于该软件故障,发生了两次事故。
  • 由于POS系统的软件故障,星巴克被迫关闭美国和加拿大约60%的门店。商店在一时免费提供咖啡,因为他们无法处理交易。
  • 由于软件故障,某些亚马逊第三方零售商将其产品价格降低到了1便士。他们损失惨重。
  • Window 10中的漏洞。此错误使用户可以通过win32k系统中的漏洞逃离安全沙箱。
  • 2015年,战斗机F-35成为软件漏洞的受害者,使其无法正确检测目标。
  • 1994年4月26日,中华航空空中客车A300因软件错误坠毁,造成264名无辜平民丧生
  • 1985年,加拿大的Therac-25放射治疗机由于软件错误而发生故障,并向患者提供了致命的放射剂量,造成3人死亡,并严重伤害了3人。
  • 1999年4月,一个软件错误导致价值12亿美元的军用卫星发射失败,这是历史上最昂贵的事故
  • 1996年5月,一个软件漏洞导致美国一家主要银行的823个客户的银行帐户记入9.2亿美元。

软件测试的类型

通常,测试分为三类。

  • 功能测试
  • 非功能测试或性能测试
  • 维护(回归和维护)
测试类别测试类型
功能测试单元测试
整合测试
冒烟
UAT(用户验收测试)
本土化
全球化
互通性
依此类推
非功能测试性能
压力
负载
容量
可扩展性
易用性
依此类推
维护回归
维护

这是不完整的列表,因为有150多种测试类型并且仍在增加。另外,请注意,并非所有测试类型都适用于所有项目,但取决于项目的性质和范围。

测试基础
Theme Jasmine by Kent Liao