随着应用软件的使用场景贯穿到生活的方方面面,新的应用软件数量爆发式增长,对应用软件提出质量要求也愈发必要。
为什么要做软件功能/性能测试?
这一段“直击灵魂”的发问,可以明确软件性能测试都在发挥哪些作用。
你的应用程序的响应时间足够快吗?
你的应用程序能轻松应付那么多的用户负载吗?
你的应用程序能处理那么多业务所需的事务吗?
在预期的用户压力下,你的应用程序足够稳定吗?在超出预期的用户压力下呢?
你能确定用户在使用你的应用程序时会得到好的体验吗?
最基础的性能效率测试就是为了确认应用软件能否满足这些条件。
应用软件的功能和性能在满足所需要求上非常重要,一方面影响用户的使用情况和使用感受,另一方面还关系着公司业务情况。购物网站每年狂欢购物节前都需要做大量的性能测试,对开发人员来说,当天系统的吞吐量、每秒钟点击率以及系统资源的消耗情况都关系着软件能否正常运转,对用户来说软件良好的运行才能保证不枉费等到凌晨的“秒杀”。
那么通常在做软件测试时,除了功能/性能测试以外,还会涉及到哪几项?
易用性测试。对于软件开发者来说,易用性测试超越了功能测试,其结合了功能测试和整体的用户体验,不应与用户验收测试混淆,既可以在内部完成测试,也可以通过外部人员来执行测试。易用性主要考虑应用软件的可辨识、易学性、易操作性、用户差错防御性、用户界面舒适性、易访问性以及易用性的依从性。易用性具体包括用户接口类型如:命令行、菜单、视窗、功能键。
界面测试。软件开发完成后要对接口进行测试,确保WEB服务器和应用服务器接口之间的所有交互都能顺利运行,另外还要测试用户和服务器的中断是否能被正确处理。
兼容性测试。其主要包括操作系统兼容性测试和移动兼容性测试,确保软件与所有应用设备的兼容性,设备是软件开发测试的关键步骤。
安全测试。其主要是确保应用软件是否能防止对程序和数据的未授权访问,能识别出对结构数据库或文件完整性产生损害的事件,且能阻止该事件,并通报给授权用户。能否进行有效的防范。
除以上几点外,在《系统与软件质量要求和评价(SQuaRE) 51部分:就绪可用软件产品 (RUSP) 的质量要求和测试细则》中明确要求了应用软件在上线前需要进行的测试项目,一方面对应用软件进行规范,另一方面也确保软件使用者的良好感受。软件功能性能测试作为软件项目开发过程中的最后一步,发挥着至关重要的作用,无论是对于软件安全性的保障,还是对于软件功能性的检验,亦或者对性能的压力测试,其地位都无可替代。一个有效的自动化性能测试过程可以帮助软件拥有者做出更明智的发布决策,并防止系统停机和可用性问题。