软件测试报告就是当软件开发人员开发出软件之后,在上市前交由测试人员进行一系列测试,再由测试人员对过程和结果的进行记录分析的一份文档。也是测试团队的工作成果展现,通过详细的记录测试内容,对出现的问题以及漏洞进行分析并修复,为软件产品质量提供了很大的保障。
总结软件系统阶段性测试,发现问题以及解决问题;判断软件使用是否达到预期效果,评估软件质量。
说明被测试的软件产品,包括项目背景、介绍、功能、测试环境、部署等。
本次软件测试应要达到的目标和实现的需求
人力资源:各个模块任务分工人员,测试用例编写人员,执行人员等
软硬件资源测试过程中需要用到的硬件设施配置、数据库服务器、客户端、网络使用等情况都应详细记录在档。ps:若功能、性能、安全性、兼容性等测试的软硬件环境不同,还需要以分别的列表呈现。
功能测试、性能测试、兼容性测试、接口测试、数据迁移测试、安全性测试和品质监控。
缺陷趋势、缺陷优先级分布、缺陷按模块分布、重开缺陷情况、遗留缺陷情况、上线跟踪测试结果。
测试过程中呈现的问题,对遇到的问题分析并提出建议。
1.1 编写目的
本报告为XXX系统产品的安全测试报告,目的在考察软件安全性、测试结论以及测试建议。
2. 测试概要
2.1 测试方法和测试工具
本次安全测试,主要使用了账号安全管理、权限管理、安全日志、访问控制安全、输入安全、缓冲区溢出、SQL注入、跨站脚本攻击等安全测试方案。
针对以上提供的测试方案进行对应测试用例以及测试脚本编写,并使用APPScan作为安全测试工具。
2.1.1 账号安全管理
1、 账号的惟一性:系统中账号名称具有惟一性
(1) 普通用户、工程师、管理员具有惟一性;
(2) 是否有可能绕过系统的账号惟一性校验
2、 账号不能写死在代码中,须提供可管理机制
2.1.2 权限管理
1. 采用基于角色的账号权限管理模型
2. 授权和用户角色数据存放在服务器端
2.1.3 安全日志
1. 对安全事件以及操作事件记录日志
2. 检查系统是否对以上所以操作记录相应日志记录,包括用户ID、用户IP、时间、事件类型、操作来源(APP、网页)等;
2.1.4 访问控制安全
需要验证用户身份以及权限的页面,复制该页面的url地址,关闭该页面以后,查看是否可以直接进入该复制好的地址;
2.1.1 输入安全
XXX系统系统主要对没有被验证的输入进行如下测试:
数据类型(字符串、整形、实数等)允许的字符集、最小和最大的长度、是否允许空输入、参数是否为必须、是否允许重复、数值范围、特定的值(枚举型)特定的模式(正则表达式)等;
2.1.2 缓冲区溢出
没有加密关键数据:
例:view-source:http地址可以查看源代码
在页面输入密码,页面显示为加密字符****,右键鼠标,查看源文件就可以看到刚刚输入的密码。
2.1.3 SQL注入
例:一个验证用户登录的页面
如果使用的sql语句为:
Select * from A where username=’ ’ + username+’ ’ and password……
SQL输入or 1=1——就可以不输入任何password进行攻击,或者是半角状态下的用户名与密码均为:‘or’‘=’。
2.1.4 跨站点脚本攻击
分析:攻击者使用跨站脚本来发送恶意代码给没有发觉的用户,窃取他机器上的任意资料。
2.1.1 测试工具
3.1 测试人员
4.1 遗留缺陷列表
1) 本次测试覆盖全面,测试数据基础合理,测试有效。
2) SQL注入测试,已执行测试用例,问题回归后测试通过。
3) 跨站点脚本测试,测试发现已对相关特殊字符进行转义,测试通过。
4) 权限测试,已严格对相关角色进行权限控制,测试通过。
综合以上结论得出本次安全测试通过。
在系统研发时便需要逐步对相关字符进行转义,可列成安全文档,定义如何防范各种安全漏洞,以便在开发项目阶段直接杜绝问题。
测试模板太多,就不一一列举了~有需要的朋友可以点击下方小卡片获取完整文档