软件测试&性能测试&安全测试

软件测试原则

1.所有测试都应该追溯到用户需求
2.尽早不断地测试(代码之间互相关联)
3.测试发现的错误中80%很可能起源于20%的模块中
4.指定严格的测试计划
5.注重回归测试(指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误)

软件产品质量模型

1.功能新:满足用户需求
2.可靠性:第一层:设备最好不要出故障;第二层:设备出现故障了不要影响主要的功能和业务;第三层:如果影响了主要功能和业务,系统可以尽快定位并恢复。
3.易用性:易懂、易学、易用、漂亮好看(用户体验感好)
4.效率:产品性能(比如,删除,单选和多选)
5.可维持性:可不断更新
6.可移植性:不同系统都可以使用

软件质量模型保证

目的:使软件过程对管理人员来说可见。

软件测试流程

1.需求文档
2.编写测试用例
3.评审测试用例
4.搭建测试环境
5.等到开发提交测试包
6.部署测试包
7.冒烟测试(对软件主体基本功能进行基本测试)
8.执行测试用例
9.BUG跟踪处理(提交和回归测试bug)
10.N轮测试之后符合需求
11.测试结束

性能测试

什么是软件性能

是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是在完成该功能是展示出来的及时性。

用户眼中的性能:

在这里插入图片描述

开发眼中的性能:

在这里插入图片描述

管理员眼中的性能:

在这里插入图片描述

测试眼中的性能:

1.测试人员需要考虑全面的性能,包括用户、开发、管理员等哥哥视角的性能;
2.测试人员在做性能测试时除开要关注表面的现象如响应时间,也需要关注本质,比如用户看不到的服务器资料利用率,架构设计是否合理?代码是否合理等言方方面面。

性能测试的类型

1.基准测试:在给系统施加较低压力时,查看系统的运行状况并记录相关数做为基础参数;
2.负载测试:是指对系统不断的增加压力或增加一定压力的持续时间,直到系统的某项或多项性能指标达到安全临界值,例如某种资源已经达到饱和状态等;
3.压力测试:压力测试时评估系统处于或超过预期负载时系统的运行情况,关注点在 与系统在峰值负载或超出最大负荷情况下的处理能力;
4.稳定性测试:给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定;
5.并发测试:测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题。
参考:性能测试

安全测试

安全需求

1.认证:对认证的用户的请求返回。
2.访问控制:对未认证的用户的权限控制和数据保护。
3.完整性:用户必须准确的收到服务器发送的消息。
4.机密性:信息必须准确的传达给预期的用户。
5.可靠性:失败的频率是多少?网络从失败中恢复需要多长时间?采取什么措施来应对灾难性的失败?(个人理解这个地方应该更偏向于容错容灾测试的范畴)
6.不可抵赖:用户应该能证明接收到的数据来自特定的服务器。

常见的安全测试内容

权限控制

1.用户权限控制

我们假设存在两个用户A,B;其中A的权限级别很高,B的权限级别则很低:
只有A能进行的操作,B能不能进行操作;
只有A能看到的页面,B能不能看到;

2.页面权限

必须登录才能看到的页面,不登录直接访问能否看到?
必须A-B-C的页面,能否直接A-C?
通常来说单纯的权限控制页面测试不复杂,但是因为权限控制和后续的URL跳转、Session等方面结合的比较紧密,所以单独提出来。

SQL注入

URL安全测试

XSS(Cross Site Scripting,跨站脚本攻击)

CSRF(Cross-Site Request Forgery,跨站请求伪造)

URL跳转漏洞

其他安全方面的考量
参考:安全测试

发布了87 篇原创文章 · 获赞 73 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/HL_HLHL/article/details/103853614