分析需求→制定测试计划→设计测试用例→执行测试用例→提交bug→验证bug→测试报告→测试总结
从项目周期看:
从测试角度看:
按照是否执行被测试软件来分:
按照测试技术分为黑盒测试和白盒测试:
按照测试手段来分:可以分为手工测试和自动化测试
按照过程阶段来分:可以分为单元测试、集成测试、系统测试和验收测试
α测试:在受控的环境中进行,由用户在开发者的场所进行,并且在开发者对用户的指导下进行测试,开发者负责记录发现的错误和使用中遇到的问题(开发环境)
β测试:在开发者不能控制的环境中的真实应用,由软件的最终用户们在一个或多个场所下进行,由用户记录在测试中遇到的一系列问题,并定期报给开发者(线上环境)
白盒测试方法有:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
执行自动化测试之前首先要判断这个项目是不适合推广自动化测试,然后对项目做需求分析,指定测试计划,搭建自动化测试框架,设计测试用例,执行测试,评估。
手动测试是需要人工完成的测试,被广泛应用于各类产品的各种测试任务中,而与之相对应还有自动化测试,即通过程序自动运行完成测试任务。自动化测试能帮助开发团队节省测试运行的人工、提高开发效率。
手动测试
自动化测试
据Selenium主页所说,与其他测试工具相比,使用Selenium的最大好处是:
Selenium测试直接在浏览器中运行,就像真实用户所做的一样。Selenium测试可以在Windows、Linux和Macintosh上的Internet Explorer、Chrome和Firefox中运行。其他测试工具都不能覆盖如此多的平台。使用 Selenium 和在浏览器中运行测试还有很多其他好处
单元测试属于白盒测试范畴;集成测试属于灰盒测试范畴;系统测试属于黑盒测试范畴
Web项目,都是基于浏览器的;app项目,必须要有客户端,用户必须安装客户端。Web项目只要更新了服务器端,客户端就会同步更新;app项目则需要客户端和服务器端同步更新
Web页面主要关注响应时间;app则会关注流量、电量、CPU、GPU、内存等
Web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统方面的兼容;app测试则要看分辨率,屏幕大小,还要看设备系统。
Web测试是基于浏览器的所以不许哟啊考虑安装卸载;app是客户端的,则必须测试安装、更新、卸载。
协议测试包括四种类型的测试
界面测试点
用户名与密码在输入时,要考虑
安全性测试
兼容性测试
其他测试点
功能测试
界面测试
安全性测试
兼容性测试
性能测试
易用性
基本功能测试
性能测试
稳定性测试:持续长时间测试基本功能是否出现断开连接、不能上网等现象
异常模式测试:正常连接AP后关闭AP,再打开后测试wifi基本功能是否正常
软件测试的基本操作就是找bug,可以理解为在规定条件下对程序进行操作,找出错误,并对程序或者系统是否满足预期功能做出评估。
测试的必需性,其实是取决于我们对要做的东西的品质的要求。或者更准确一点,做多少的测试是看我们关注多少质量指标。
举个基础的例子:如果标准是果腹,拿起来看看有没有烂掉。这其实也是个测试,很快,代价很低。如果标准是口感,需要吃起来看看,更科学的做法可能是检测含糖量等指标。这个测试更复杂一点。如果标准是营养,可能要检测各种物质的含量。如果标准是安全,估计还要做农药残留等方面的测试。
做好测试计划工作的关键:目的,管理,规范