系统测试各大阶段:
1、计划:编写测试计划
编写人员:测试负责人
怎么编写:一般先看是否有类似项目的计划,借鉴参考。
如果没有可借鉴的项目则自主完成。
计划编写准备:了解学习需求。
估计工作量(人天、人时、人月)
工作量估计:会议的形式,会上有人负责讲解需求,所有人员在理解的基础上每个人估计工作量,一般会估计三个值:悲观值、乐观值、正常值,然后平均值=(悲观值+乐观值+正常值*4)/6,每个人的平均值计算完成后,再看各个平均值是否收敛(相近),如果收敛再求和除以人数得到估计的工作量。如果不收敛继续重新再估一轮,直到收敛。实际中往往时每个分工后,各自凭经验估计各自的工作量。估计工作量时要留余量,一般30%。
计划编写依据:项目管理计划、开发计划
计划内容(5w1h):
why:明确系统测试目标,验证软件是否符合需求规格书要求
what:明确测试工作的范围
when:明确测试工作的时间范围,明确测试各个阶段的时间范围,明确每一项任务的时间范围
who:明确测试分工,工作量要相对平均,分工一定要明确到人。
where:明确测试环境(研发环境、测试环境、生产环境(线上环境、真实环境))
how:怎么测试,明确测试的方法、选用的测试工具,测试工作的标准规范。
计划的作用:可以有效的计划、执行、跟踪、组织和管理测试活动。
计划写完需要评审
2、设计:写方案,分析测试需求,分析测试点
编写人员:一般是测试团队分工协作完成。
测试设计工作往往与计划工作并行开展。
设计作用:从技术角度规范和控制测试活动。
方案写完需要评审
3、编写用例(实现):设计测试用例
用例设计:往往也是测试团队分工完成
用例编写完成需要评审。
4、执行:
执行前提:编码完成
测试执行准备:
1、准备测试环境:把被测软件搭建部署起来。
涉及工作:安装linux操作系统、安装数据库、安装web服务(apache、tomcat、nginx
)、安装依赖软件等
2、准备测试数据
冒烟测试:验证软件基本功能。
系统测试正式开展之前执行冒烟测试。冒烟测试时间较短,只验证基础和核心功能是否正常。
转系统测试:测试组内进行评审,判断是否达到系统测试条件,如果达到,则正式通知项目组全体人员,开始执行系统测试。
执行测试:
1、发现bug并提交开发,还要对bug进行跟踪管理:了解bug的原因、解决的方法、解决的时间。
开发人员解决bug后测试需要验证bug是否解决,是否引入新问题,需要依据bug的原因及
解决方法确定验证的测试范围,
确保问题解决的同时没有引入新问题。
2、工作报告、工作总结:报告分周报、日报、月报。总结内容不限、形式不限、时机不限。
测试报告:按照实际工作内容总结测试工作的各种情况。
编写人员:测试负责人,往往需要团队成员协助。
主要内容:测试结论、各种统计数据。
统计数据作用:测试结论的依据。
为后续项目做参考。
通过数据分析研发过程中可能存在的问题,找到原因,制定措施,优化研发流程。
召开发布会议,发布上线。
系统测试主要测试类型:
1、功能测试:需要从需求和业务角度考虑
软件常见统称:erp(企业资源计划)、crm(客户关系管理)、银行类、财务类、物流类
功能测试发现错误:
1、功能实现错误,与用户需求不符
2、功能实现遗漏,少了某些功能
3、功能实现多余,实现了多余功能
2、性能测试:测试软件匹配性能需求的能力。
关注点:
响应时间:系统对请求作出响应的时间。
2-5-8原则:如果系统2秒内作出响应,会感觉系统响应很快。如果2-5秒内作出响应,
会感觉系统响应还可以。
如果5-8内作出响应,会感觉响应很慢但是还可以接受。如果超过8秒还没有响应,会
感觉很糟糕,会认为系统
已经失去响应,从而发起二次请求或离开改软件。
并发用户数:指系统可以同时承载的正常使用系统功能的用户数量。
吞吐量:系统在单位时间内处理请求的数量
服务器的资源利用率:cpu的使用率、内存的占用率、磁盘的读写速率(I/O)
app性能测试额外关注指标:
1、手机端的资源利用情况:cpu、内存的使用率
2、耗电量
3、启动速度
4、界面的滑动、跳转速度
性能测试工具:jmeter、loadrunner
工作中性能测试两种情况:
有性能测试需求:按照需求测试即可
无性能测试需求:需要不断增加系统的负载,测试出软件的性能指标。
3、GUI测试(界面测试):关注人机界面展示。
gui测试考虑方面:
1、整体风格:色彩使用、界面元素排版布局
2、针对具体元素考虑:
单选框:首先考虑是否需要设置默认值。选择一下,只能单选
复选框: 首先考虑是否需要设置默认值。选择一下,可以多选
输入框:首先考虑尺寸大小,考虑输入超过最大限制是否可以继续输入,输入框回显
密码框:首先考虑尺寸大小,考虑输入超过最大限制是否可以继续输入,只能掩码显示,
不能支持复制、剪切。
下拉框:首先考虑尺寸大小,关注下拉菜单内的值是否完整、正确。是否需要设置默认值
。
超链接:考虑连接的对不对,考虑超链接上的内容与链接到的内容是否一致。
4、易用性测试:关注用户体验
具体体现:能选择不输入、支持快捷键操作、菜单级数不超3级,提供导航式操作,提
供帮助手册、提示信息。
最终目标:软件要易理解、易学习、易操作、有吸引性。
5、兼容性测试:指测试软件在不同的软件之间、操作系统平台上、不同的网络环境中是否能很好的运行。
主要考虑兼容内容:
1、操作系统
2、应用软件的兼容性:framework、jdk、flash
3、浏览器兼容性:IE、Firefox、Chrome
4、分辨率兼容性
其它:操作系统语言、时区
APP兼容性测试:
安卓:考虑兼容多个安卓版本、考虑兼容不同手机厂商系统、考虑兼容不同屏幕尺寸
IOS:一般考虑最新IOS版本、一般考虑最新型号的手机,一般往前倒推1-2个版本
可靠性测试:可靠性是指软件不管怎么用都不出问题,或问了问题也能很快解决
测试类型:
随机测试:无规律操作软件
异常测试:测试软件出现异常(故障)后是否可以恢复,以及恢复的程度和时间
往往需要人为制造故障
安全测试:测试系统受到恶意攻击时,系统的自我保护能力,病毒防护能力。
从功能测试角度考虑软件安全性:
1、密码要有一定长度和复杂度要求
2、改密码必须验证老密码
3、是否需要使用HTTPS安全协议。
4、是否存在超时验证
5、密码要加密传输、加密存储(sha-one)
6、是否有防爆力破解机制(连续登陆失败达到一定次数锁定账号或IP)
7、用户相关数据的校验必须在服务端进行。
稳定性测试:测试系统在一定的负荷下,长时间运行的情况。
负荷:有一定的数据量、有一定的用户量、软件要运行
测试时间单位:N天
发现问题:内存泄漏
文档测试:测试文档的正确性和可用性。