分类: 项目管理
2009-03-03 09:41:43
磁针石
联系方式: gmail and gtalk: xurongzhong#gmail.com
安全测试:提供应用程序在受到敌意和恶意输入时能满足需求的证据。
Security testing is providing evidence that an application sufficiently
fulfills its requirements in the face of hostile and malicious inputs.
提供证据难在设计反安全输入和测试。
普通测试中可以参考ANSI/IEEE
Standard 729 来确定是否满足需求。但是很多软件很可能忽略了安全的需求。安全测试不是绝对安全,只要用户可以接受就可以。
安全测试的输入更加庞大,比如:convertIntToRoman:把至MAXINT的正整数转换为罗马字符。
功能测试:输入"5",期待"V"
边界测试:0, -1, 等
错误处理:"-5",不是输出"–V",而是有合适的定义的错误提示。
异常测试:等价类划分,3.42不能输出为"III.IVII",怪异字符串"Fork"等。
安全测试则会采用9494949494,这样可能可能导致递归,消耗更多的内存。
边界值:比如0-100一般会测试–1, 0, 1, 37, 99,
100, 101。
等价类:上例中可以使用负数,很大的正数,字符串,十进制数,特殊数比如MAXINT。一般每个等价类使用2个数。
安全类:比如SQL注入,cross-site脚本, 编码方式。编码可以压缩至几种:URL-encode others, HTML-encode,Base 64,一种编码方式一个用例就可以。