第一章
软件测试的流程是什么?
需求分析--------测试计划----------测试开发--------测试执行-------测试报告
如何描述一个BUG
版本,测试环境、测试步骤和测试数据、实际结果、预期结果、附件(截图、错误日志)
-
软件测试过程包括单元测试、集成测试、冒烟测试、系统测试、回归测试、验收测试
-
软件开发模型:瀑布模型、快速原型模型、迭代模型、螺旋模型、敏捷模型
-
纸杯测试
-
常见软件缺陷管理工具:Bugzilla、禅道、Jira
-
软件测试与软件开发的关系:
-
软件测试模型:V模型、W模型、H模型、X模型
在实际测试工作中,测试人员更多的是结合W模型与H模型进行工作,软件各方面的测试内容是以W模型为准而测试周期、测试计划和进度是以H模型为指导。X模型更多的是作为最终测试、熟练性测试的模板。
-
✨软件测试的流程:
需求分析--------测试计划----------测试开发--------测试执行-------测试报告
第二章 黑盒测试
黑盒测试又称为功能测试,它是通过测试来检验程序的每个功能是否能正常使用。在测试中,将程序看成一个不能打开的黑盒子,在完全不考虑内部结构的情况下,在 程序接口 进行测试 ,检查程序是否能适当的接受输入数据从而产生正确的输出信息。黑盒测试主要针对 功能测试 和 软件界面测试 。
等价类
根据输入,把输入划分为若干个等价类,从每一个等价类中选择测试用例进行测试。若测试用例测试通过,我们就说这个测试用例代表的等价类测试通过。
- 有效等价类:符合需求数据规格说明的数据集合
- 无效等价类:不符合需求规格说明的数据集合
边界值
通常将等价类和边界值结合在一起进行测试用例的设计
场景法
错误猜测法
在软件测试过程中,人们可以依靠经验和直觉推测系统中可能存在的各种错误,从而有针对性地编写检查这些错误的例子,这就是错误推测法。
因果图法
适用于多输入多输出的情况
恒等,与,或,非
设计测试用例的步骤:
- 分析输入和输出
- 找到输入和输出之间的关系
- 根据输入输出之间的关系画因果图
- 根据因果图写判定表
- 根据判定表设计测试用例
正交法
第三章 白盒测试
逻辑覆盖法
- 语句覆盖:使每个可执行语句至少被执行一次
- 判定覆盖:又称分支覆盖,其原则是设计足够多的测试用例,在测试过程中保证每个判定至少一次为真值,有一次为假值。
- 条件覆盖:设计足够多的测试用例,使判定语句中的每个逻辑条件取真值与取假值至少出现一次。
- 判定-条件覆盖:设计足够多的测试用例,使得判定语句中所有条件的可能取值至少出现一次,同时,所有判定语句的可能结果至少出现一次。
- 条件组合覆盖
程序插桩法
- 目标代码插桩
- 源代码插桩法
第四章 性能测试
性能指标
响应时间、吞吐量、并发用户数、TPS、点击率、资源利用率等
TPS:系统每秒钟能够处理的事务和交易的数量,是衡量系统处理能力的重要指标。
性能测试种类
负载测试、压力测试、并发测试、配置测试、可靠性测试、容量测试
性能测试工具
LoadRunner:通过模拟一个多用户(虚拟用户)并行工作的环境来对应用程序进行负载测试。
JMeter:通过线程组创建虚拟用户,一个线程组可以设置多个线程,每个线程就是一个虚拟用户,这些线程相互独立,互不影响。
第五章 安全测试
安全测试以发现安全隐患为主。
常见安全漏洞
SQL注入
XSS跨站脚本攻击
CSRF攻击
如果将XSS攻击过程比喻为小偷偷取了用户的身份证去办理非法业务,那CSRF攻击则是骗子劫持了用户,让用户自己去办理非法业务,以达到自己的目的。
渗透测试
利用模拟黑客攻击的方式,评估计算机网络系统安全性能的一种方法
常见安全测试工具
Web漏洞扫描工具----AppScan
端口扫描工具----Nmap
抓包工具----Fiddler
Web渗透测试工具----Metasploit
第六章 自动化测试
自动化测试常见技术
录制与回放测试
脚本测试
数据驱动测试
自动化测试常用工具
Selenium:常用,Web自动化测试
Katalon Studio
UFT