什么是软件测试?
“软件测试”定义为一项活动,以检查实际结果是否与预期结果相符并确保软件系统无缺陷。它涉及执行软件组件或系统组件以评估一个或多个感兴趣的属性。软件测试还有助于识别与实际需求相反的错误,空白或遗漏的需求。它可以手动完成,也可以使用自动化工具完成。有些人更喜欢将软件测试称为白盒测试和黑盒测试。
简而言之,软件测试意味着对被测应用程序(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多种测试类型并且仍在增加。另外,请注意,并非所有测试类型都适用于所有项目,但取决于项目的性质和范围。