测试基础
1:测试模型V/W。
### V模型:
优点:明确测试过程中存在的不同级别。并且清楚的描述测试关系和开发各个阶段的对应关系,便于控制开发的没一个过程。
缺点:测试过程存在需求分析,编码之后的阶段,对于前期已存在的问题不能及时发现,直到后期才能发现。
解决方法:软件开发中,测试和开发同步进行,在研发出需求文档时就进行测试用例跟踪。尽可能的减少需求的偏离。从而提高效率,减少成本,满足实际需求。
### W模型:
优点:W模型是V模型的发展。强调测试和开发同步进行,有利于及时发现问题。
缺点:1.对于有些项目,开发过程中没有文档产生,W模型无法使用。2.对于需求和设计的测试技术要求高,实践起来困难。
2:公司流程。
我们公司的流程是首先由公司高层进行立项,确定项目后产品会给出一个产品说明(包括UI界面),需求人员根据产品给出的文档进行编写需求文档,之后产品和需求,开发,测试进行需求评审。开发人员编写概要设计和详细设计,同时测试人员编写测试用例,然后需求和测试会进行测试用例评审。然后开发进行编码,同时测试部署环境进行测试,首先进行冒烟测试,之后进行功能测试,出现bug使用禅道进行记录跟踪,开发进行修改,测试进行验证,然后进行验收测试。验收测试成功后,编写测试文档,进行上线部署(交给运维人员的一般都有前后端代码包,需求文档,测试文档,版本号,等文件)。
3:软件测试分类。
1、按技术划分:黑盒测试、白盒测试、灰盒测试
•黑盒测试:不需要了解程序的源代码,通过使用整个软件功能来验证程序是否满足需求的测试方法(只进行功能测试)
•白盒测试:是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法(只进行单元测试)
•灰盒测试:一种基于程序运行时的外部表现同时又结合程序内部结构来设计测试数据的测试方法(基于黑盒与白盒之间)
2、按阶段划分:单元测试、集成测试、系统测试、验收测试
•单元测试:对一个模块、一个函数或者一个类来进行正确性检验的测试方法
•集成测试:单元测试后,将单独的模块按照设计要求组装成为子系统或系统,作为整体进行测试的测试方法(api端测试)
•系统测试:集成测试后,将硬件、软件看作一个整体,对系统的功能及性能的总体测试
•验收测试:系统测试后以用户测试为主,或有测试人员共同参与检验软件质量的测试方法
3、按内容划分:功能测试、性能测试、兼容性测试
功能测试:界面测试、冒烟测试、回归测试、业务逻辑测试、易用性测试
•功能测试:根据产品操作描述和需求文档,测试一个产品的特性和可操作行为是否满足用户需求的测试方法
•界面测试:测试用户界面的功能模块的布局是否符合客户使用习惯,界面操作便捷性、导航简单易懂性的测试
•冒烟测试:验证系统的核心功能是否能够正常运行的测试方法
•回归测试:指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误的测试方法
•业务逻辑测试:在基本的功能点都已合格的基础上,准备多种测试数据,来驱动各种约束条件下业务流程,确定最终输出的结果是否符合预期的测试
•易用性测试:指用户使用软件时是否感觉方便的测试
性能测试:压力测试、负载测试、并发测试
•性能测试:通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行校验的测试方法
•压力测试:通过逐步增加系统负载,测试系统性能的变化,并确定在什么条件下系统性能处于失效状态
•负载测试:通过逐步增加系统负载,测试系统性能的变化,在满足性能指标的情况下,系统所能承受的最大负载量的测试
•并发测试:是一个负载测试和压力测试的过程,即逐渐增加并发用户数负载直到系统的瓶颈,通过分析资源监控指标等来确定系统并发性能
兼容性测试:
•游览器的:不同版本(IE(不同版本号),火狐,谷歌),分辨率
•手机型号:不同版本(安卓,ios),分辨率
4、按其他划分:冒烟测试、随机测试、安全性测试、回归测试、Alpha测试、Beta测试
•随机测试:随机测试主要是根据测试者的经验无需测试用例对软件进行功能和性能抽查的测试方法
•安全性测试:通过不同的测试方法,检验程序、网络、数据库安全性的测试方法
•Alpha测试:俗称内测,α测试。内部环境下的测试;开发人员或测试人员在现场
•Beta测试:俗称外测、公测,β测试。生产环境下的测试;开发人员和测试人员都不在现场
4:测试点
实例1:电梯测试点
功能:1.利用电力使人或者物可以代替走楼梯实现不同楼层的切换。
性能:1.速度可以节省多少时间。
2.消耗卡路里可以节省多少(不同程度体重的人)。
3.能容纳多少人。
4.是否通风。
5.耐磨性怎样。
6.控温。
UI视觉:1.当一个人站在里面或者多个人站在里面空间是否开阔。
2.按键是否美观,关门时是否会出现不同的画面。
3.内部画面是否美观。
安全:1.当电梯过快时,会不会有晕眩感。
2.当承载力过大,会不会出现内部空间失重。
3.当停电时,电梯会不会直接暂停。
4.当电梯启动或者停止时会不会过快,会不会引起人的不适。
5.会不会出现没有好门就运行。
6.会不会出现门关不紧。
7.会不会夹住物体。
易用:1.电梯的寿命是多长时间。
2.会不会受气候的影响
3.会不会生锈。
4.遇到腐蚀性液体或者固体会不会氧化。
实例2:黑板测试点
功能:在黑板上写字,传播知识,发布通告。
性能:材质,摩擦,形状,黑板是否有味道,受力能力如何。
UI视觉:1.不同的粉笔是否能在此黑板上产生复合色
2.粉笔的颜色是否可以流畅的展示在黑板上
3.黑板的颜色是否可以展示不同粉笔的颜色。
安全:1.是否容易扬起粉笔灰。
2.是否使用轻一点的材料使其质量轻,不易掉落,或者掉落不会对人体造成安全隐患。
3.反光对眼睛影响如何。
易用:1.黑板如果发生形变,易不易修复,寿命多久。
实例3:签到测试点
功能:
1.商家层面:吸引用户每天登陆游戏,增加游戏玩家的依赖性。
2.玩家层面:可以每天领取不同的奖励。增加游戏的乐趣。
性能:1.点击签到是否获取奖励。
2.每天是12点更新还是早上8点更新下一次签到。
3.登录游戏是否直接跳转签到页面。
4.是否一天可以签到两次。
5.当遇到弱网,断言,热启动时,签到会不会出现bug。
6.耗电量,耗流量是多少,所占内存是多少。
UI:1.获取奖励是否美观。签到成功后返回什么界面。
安全:1.账号安全
2.签到是否成功,是否是该用户的。
3.奖励是否入库。
兼容性:1.是否支持各个操作系统,pc端和移动端是否都适用。
易用:是否方便。
5:公司专有名称。
PM产品经理 RD:研究和开发人员 FE前端开发人员 QA测试 OP运维 case 测试用例