什么是软件测试:预期结果和实际结果之间的比较
软件测试目前阶段:保证软件质量是否符合用户一系列需求的手段。
测试分类:
按方法分
黑盒测试-不透明的盒子,检查输入输出
白盒测试-检查内部结构
灰盒测试-黑盒测试与白盒测试相结合
按方向分
功能测试:测试软件功能
性能测试:
压力测试-发现软件的性能瓶颈(最高支持)
负载测试:测试稳定性,长时间连续运行 (峰值80%-90%模拟)
并发测试:多线程情况下测试
安全测试:测试软件性能
按阶段分
单元测试:方法 函数 类
集成测试:接口(数据传送的通道)集成测试通道
系统测试 功能,安全,性能,兼容性,易用性=用户体验,稳定性,UI
验收测试:
按状态分
静态测试:看代码
动态测试:
其他
冒烟测试:测试前的测试,是否具有可测试性(非正式)
回归测试:检查开发是否把问题都修改完(复检)
α测试:内测
β测试:公测
测试方法:等价类(黑盒):找出最具有代表性的值-无效等价类,有效等价类,边界值(黑盒)(寻找等价类),场景法(黑盒), 因果图,判定表,路径覆盖法
研发管理模型:
瀑布流:上下级分明,一级一级向下(完全独立),不变通
V字型:开发测试一一对应,先开发
W字型(双V模型):开发测试同时进行
敏捷模型:高效工作,及时沟通,工作日报,白板,站立会
整个项目被拆分成了小单元, 每个人每天都会有自己任务, 立定期望完成时长和实际完成时长 迭代会次数和项目大小成比例, 每次时长一两天迭代会前验收这个迭代的项目, 然后会议上讨论出的问题并保留下一迭代继续修改而且商榷下一迭代将要完成什么, 差分成小单元, 等待开发者领取贴在站会上到白板上
评审:同行评审,小组评审,部门评审,项目评审,第三方评审,邮件评审
测试流程:
需求分析阶段
需求分析:需求文档,产品原型,口述、学习业务流程,提取 功能点(由大到小),编写需求分析说明书
(没有需求怎么办:参考市面上已经成熟的同类型产品)
测试设计:
测试计划:时间人员和资源的安排分配,
测试方案:什么测试计划,什么测试工具,
测试策略:哪些内容先测,哪些内容后测,开始和结束的标准是什么,
测试用例:用例编号,用例名称,前置条件,
*优先级-执行这条用例的时间要求紧急的等级,
*重要级-这个被测的功能在系统里面的重要级别,
测试数据,测试步骤,预期结果,实际结果
测试执行:提交bug,回归测试-在版本2上去检查在版本1上发现的问题有没有被解决:
预期结果和实际结果作对比,如果一样,通过,不一样,则有问题
测试总结:编写测试报告:对工作的总结,对BUG的统计分析,
对被测软件的评估:一级二级BUG全部都关闭,三级的BUG关闭了80%,四级的BUG无所谓
BUG的管理:
BUG的管理平台:禅道,BUGfree,ALM/QC,testlink,JIRA,
BUG的六要素:
(1)BUG编号,
(2)BUG名称,
(3)BUG优先级-根据实际情况这个BUG需要解决吗,高中低
(4)BUG严重级别-致命,严重,一般,轻微
(5)BUG复现步骤:用例的步骤复制过来,预期结果,实现结果
(6)附件:图片,视频,日志,目的是为BUG佐证
BUG的生命周期:开发测试沟通,需要回归测试,
BUG的状态:新建,打开,已确认已解决,拒绝,重新打开,关闭,延期处理,
BUG的等级
Tips:
版本迭代:随着时间和次数的推进会出现许多版本,版本号是不断叠加的
增量测试:只测试已知有变化部分 ----其他部分选择自动化测试:unittest+selenium
全量测试:测试软件的所有功能
测试应用:
APP测试(软件专项测试):消息推送,安装卸载,更新,弱网测试,场景交互测试,权限测试,离线测试
WEB测试:
软件结构:
B/S:浏览器/服务器
C/S:客户机/服务器(需要下载)