软件安全测试与功能测试的考量
1. 软件测试的核心职责
软件测试人员的主要工作多年来被众多作者和演讲者以多种方式阐述,但本质上,测试人员的工作是设计并执行测试,以确定产品质量,从而让管理层能就产品是否适合发布做出明智决策。从这个描述来看,安全测试和功能测试都属于“软件测试”的范畴。
不过,测试人员的主要工作并非找出产品中的所有漏洞。除非产品极小且运行在非常有限的系统上,否则若想找出所有漏洞,可能很长时间都无法发布产品。同时,测试人员也不是要让所有漏洞都得到修复,总会有一些漏洞因各种原因而不被修复,而且测试人员通常不参与决定哪些漏洞需要修复、哪些可以推迟修复,甚至哪些无需修复。此外,测试人员也不决定产品的发布时间,虽然可以向公司反馈产品状态,但发布决策通常由公司或产品团队做出。
2. 安全测试与功能测试的差异
安全测试和功能测试存在显著差异,需要在测试思维上做出根本性转变。
2.1 转变测试重点
功能测试是代表产品的合法用户,按照产品的预期用途和目的进行的测试,大部分功能测试是从客户的角度进行的。然而,仅从这个角度测试会错过大量安全测试。大多数安全漏洞虽有可能被目标客户发现(大多是偶然),但他们不太可能去利用这些漏洞,可能只是向技术支持报告或向朋友抱怨,很多客户甚至不会将这些漏洞视为安全风险,而仅仅当作小麻烦或质量不佳的表现。
功能测试更关注如何让客户以最简单、最方便的方式完成任务,同时提供足够的检查和安全措施,避免他们无意中造成损害,有一种“保护他们不伤害自己”的心态。即使进行一些安全测试,也主要围绕密码、权限等方面,且是基于客户按预期使用登录等功能的假设,不会关注如何在用户登录之外获取管理权
超级会员免费看
订阅专栏 解锁全文
827

被折叠的 条评论
为什么被折叠?



