1、什么是软件测试?
使用技术手段验证软件是否满足使用需求。
软件:控制计算机硬件工作的工具。
软件基本组成:页面客户端、代码服务器、数据服务器。
软件产生的过程:需求产生 — 需求文档 — 设计效果图 — 产品开发 — 产品测试 — 部署上线 。
2、软件测试的目的:
减少软件缺陷(bug),保障软件质量。
3、成为初级测试工程师的条件:
具备对所有软件的功能进行测试的能力。
设计测试 — 发现缺陷 — 测试报告
4、测试主流技能:
1)功能测试:
主要验证程序的功能是否满足需求。
2)自动化测试:
使用工具或者代码代替手工,对项目进行测试。
3)接口测试:
通过代码或工具对服务端提供的接口进行测试。
验证程序的接口是否访问正常。
4)性能测试:
模拟多人使用软件,查找服务器缺陷。
5、测试分类:
1)按测试阶段划分:
①单元测试:针对程序源代码进行测试。
bug太多,修复率太低,开发人员会进行自测。
②集成测试:又称为接口测试,针对模块之间的访问地址进行测试。
针对程序接口进行测试。
③系统测试:对整个系统进行测试,包括功能、兼容、文档等测试。
针对程序的功能和非功能进行测试。
④验收测试:主要分为内测、公测,使用不同的人群来发掘项目缺陷。
2)按代码可见度划分:
①黑盒测试:不关注源代码,针对程序UI功能进行测试。
源代码不可见,UI功能可见。
属于系统测试,只能对软件的功能、兼容性……进行测试。
②灰盒测试:针对程序部分代码进行测试。
部分源代码可见,功能不可见。
属于集成测试。
③白盒测试:针对程序源代码进行测试。
全部源代码可见,UI功能不可见。
属于单元测试。
UI:User Interface,用户界面,亦称使用者界面。是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。
6、质量模型:
衡量一个优秀软件的维度。
1)功能性
2)性能
3)兼容性
4)易用性
简洁、友好、刘畅、美观
5)可靠性
无响应、卡顿(响应时间慢)、死机(系统崩溃)。
6)安全
信息加密传输、信息加密存储。
7)可维护性
8)可移植性
职场必测:功能、性能、兼容、易用、安全。
7、软件测试流程:
1)需求评审
确保各部门需求理解一致。
2)计划编写
测什么、谁来测、怎么测。
3)用例设计
验证项目是否符合需求的操作文档。
4)用例执行
项目模块开发完成,开始执行用例文档,实施测试。
5)缺陷管理
从缺陷描述到提交给开发,然后等待开发修复完成,再去验证缺陷是否被修复,最后关闭掉的一个过程。
6)测试报告
实施测试结果文档。
8、用例:
1)概念:
用户使用的案例。
2)四个常见的案例:
Ⅰ、用户验证手机开机的案例。
是否能开机:打开手机按下电源键3秒钟,看是否能开机。
Ⅱ、用户验证手机内存的案例。
验证内存:打开手机设置,查看内存是否为128G。
Ⅲ、用户验证手机屏幕的案例。
验证屏幕:打开手机,在白屏背景下检查屏幕是否有黑点。
Ⅳ、用户检查手机运行速度的案例。
检查运行速度:打开手机,运行某个APP,观察是否运行刘畅。
9、测试用例:
1)概念:
为测试项目设计的执行文档。
2)作用:
①防止漏测。
②实施测试的标准。
3)用例设计编写格式(用例执行的八大要素):
①用例编号:项目_模块_编号。
用来标识用例的唯一标识符。
②用例标题:预期结果(测试点)。
表示用例测什么。
③项目/模块:所属项目或模块。
④优先级:表示用例的重要程度或影响力(p0~p4,p0最高)。
最重要的就是用户在使用过程中频率最高的。
⑤前置条件:在执行此条用例前需要进行的操作。
比如,登录某电商网站,需要打开该电商网站的登录页面。
⑥测试步骤:描述操作步骤。
⑦测试数据:操作的数据,没有的话,可以为空。
⑧预期结果:期望达到的结果。