软件测试的基本理论-安全测试-4
一.安全测试
1.安全测试概述
什么是安全测试
安全测试贯穿整个软件生命周期:
风险分析、静态分析、渗透测试属于安全测试范畴;
安全测试需要转换视角,改变测试中的模拟对象;
1) 测试目标不同
普通测试:以发现bug为目的
安全测试:以发现安全隐患为目的
2)假设条件不同
普通测试:假设导致问题数据是用户不小心造成;接口一般只考虑用户界面,
安全测试:假设导致问题的数据是攻击者处心积虑构造的,需要考虑所有可能的攻击途径;
3)思考域不同
普通测试:系统的功能作为思考域
安全测试:不但包括系统功能,还有系统机制,外部环境,应用和数据自身安全风险和安全属性等
4)问题发现模式不同
普通测试:违反功能定义为判断依据
安全测试:违反权限与能力的约束为判断依据
安全测试基本原则
遵守一些安全基本原则能避免一些常见的问题出现;
1) 培养正确的思维方式
跳出常规的思维定式才能成功执行安全测试;常规测试只需要软件正常运行,而安全测试测试人员需要有创造性思维、逆向思维;
2)尽早测试