软件测试基础
一、软件相关
1.软件的定义;
软件测试是用来促进鉴定软件的正确性、完善性、安全性和质量的过程。
也就是说,是实际输出与预期输出之间的审核或者比较的过程。
2.应用场景;
游戏型测试,电商型测试,金融型测试(功能性测试)
嵌入式测试(软件硬件交互,并发,qps等)
3.软件架构分类;
B/S(browser server)架构软件 客户端为浏览器 web端
更新代码只需要更改客户端,测试时只有基本性测试
C/S (client server)架构软件 客户端为特定软件 app端
更新代码需要更改客户端和服务端,测试时还需要测 弱网,断言,热启动等app性能测试。
弱网:网络信号较差时,服务会不会死掉等。
断言:突然信号中断时(列如接电话时),服务会不会死掉。
热启动:程序转入后台,再次进入时会不会死掉。
二、软件测试相关
1.为什么需要软件测试;
根本原因:使产品更加完善,避免不必要的损失
2.什么是软件测试;
软件测试是通过人工或者自动化的方式来验证软件的实际结果与用户需求的是否一致的过程。
三、常用的测试模型
1.V模型: 先开发后测试,结构简单,思路清晰。但是后期出现错误对代码影响较大。
2.W模型 测试和开发同步进行,高效完成代码,减少代码引起不必要的错误。
四:软件测试的流程
阶段名 | 工作内容 | 产出物 | 参加人员 |
---|---|---|---|
测试准备阶段 | 项目立项、需求分析、需求评审 | 需求文档、产品PRD | 公司高层,需求人员,产品 |
测试计划阶段 | 编写测试计划、计划评审 | 测试计划 | 项目经理,测试人员,需求,产品 |
测试设计阶段 | 提取测试点、编写测试用例、用例评审 | 测试用例 | 测试,需求 |
测试执行阶段 | 冒烟测试、执行测试用例、提bug、回归测试 | 缺陷报告 | 开发,测试,需求|产品 |
测试完成阶段 | 验收测试、编写测试报告、项目上线 | 测试报告 | 测试,需求,运维,项目经理 |