为什么企业要重视软件质量检测?
相传魏文王和名医扁鹊之间曾经发生过这样一段对话:
魏文王:“你们兄弟三人,谁是医术是最好的呢? ”
扁鹊:“大哥最好,二哥差些,我是三人中最差的一个。”
魏文王:“那为什么你的名气最大?”
扁鹊:“大哥治病,是治病于病情发作之前,病人尚未发病即已根除病因,使得他的医术没有得到认可,没什么名气;二哥治病,是治病于病情初起时,二哥药到病除,大家认为二哥善治小病,名气只在本乡里;而我是治病于病情严重之时,大家看到我或在经脉上穿刺放血,或在患处敷以毒药以毒攻毒,或动大手术直指病灶,使重病人病情得到缓解或治愈,所以以为我的医术高明,名气因此响遍全国。”
在上面这个小故事中,根据医生治病发生在病情发展的不同时期可以分为三个阶段:病发前,施以小术,代价非常小,却很容易根除病因。病发初期,患者小恙,对症下药,也能很快治愈。病情严重,患者身体损伤极大,要施以非常手段才有可能救治病患,代价很大,也很容易留下后遗症。
软件安全检测和软件质量检测正如医生治病救人,为了保证系统能够稳定地对外提供服务,有比较高的可用性(功能性)和稳定的运转情况(性能效率),需要关注系统发展的整个生命周期,见微知著。这样做一方面能够识别软件开发中潜在的问题,尽早解决;另一方面当系统出现小问题,不要忽视,及时处理;最后当系统发生较大问题时,也能够使用雷霆手段快速恢复,保证系统可用,同时将修复成本降至最低。
软件功能/性能测试是检验软件质量中不可或缺的一部分,同时软件质量的好坏对业务影响也很大,此前因软件问题造成的重大影响事件比比皆是。
日产尼桑汽车由于安全气囊感应探测器的软件故障,召回超过100万辆汽车。据报道,由于此软件故障导致两起事故。
星巴克咖啡由于POS系统的软件故障无法处理交易,因此被迫关闭了美国和加拿大约60%的商店。
亚马逊的一些第三方零售商看到他们的产品由于软件故障价格全部被降至1英磅,由此导致惨重损失。
目前,因为软件功能/性能效率出现问题而造成的事件依然还在发生。随着软件业的迅猛发展,软件测试也变得不可或缺。
功能测试在测什么?
功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。主要是根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。
在功能测试中,只需考虑测试软件的功能,不需要考虑内部结构及代码,一般从软件产品的界面、架构出发,按照需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出更加使产品达到用户使用的要求。
性能测试在测什么?
评估系统的能力。
当应用上线有大量用户当问的时候,页面的打开速度直接影响用户体验,进而影响用户的留存。了解用户的真实使用体验,对应用做出针对性的性能评估,有效提升用户体验。
验证系统的稳定性和可靠性。
在整个的网站应用架构体系中,会有一些接口基础服务,它的职责是对外输出一些稳定的查询,一些服务能力,这个时候系统需要有较高的稳定性,比如访问量很多,数据量很大,这个时候就需要关注性能。另外对于一些核心系统,可用性很高,对于性能系统也是非常关键的。
改动了核心应用,担心对链路有影响。
当网站应用比较复杂的时候,比如核心应用被改造了,改造之后我们会担心这对整条核心链路有影响,这个时候也会考虑做性能评估。
参读链接:
https://www.woocoom.com/b021.html?id=176ae7c4fba44257a2eac124cc58c4a8