请选择行业
请选择职位
请选择省份
请选择城市

工作一年半对软件测试的理解

时间: 2015-04-21 09:22   作者: 51Testing软件测试网采编   点击次数: 
 
  前提:个人工作与互联网相关,因此总结内容比较偏向这方面的,如有其他不同建议或者需要补充的,请各位留言拍砖,互相交流,互相学习!
  一、什么是软件测试
  软件测试就是尽量以最小的人力物力保证产品质量的过程,做好前期计划,做好中间过程,做好后期反馈和问题解决。
  二、为什么需要软件测试
  如果没有软件测试,则无法保证在测试过程中产品按照具体的需求完成,也没有人专职对产品的功能、逻辑等进行专项测试,无法保证质量的产品发布出去后是很容易有重大问题的,尤其是在产品用户量较大的情况下,引起的经济损失以及企业形象损失等无法预计。
  三、软件测试工作的流程及测试工程师的工作内容
  软件测试工作的流程主要包括:
  (1)需求评审
  (2)测试计划
  (3)测试方案
  (4)具体功能模块的划分、测试点的确定、测试用例的编写
  (5)具体的测试执行
  (6)bug的跟进与修复验证
  (7)根据基本的发布标准,进行最终版本的回归,并完成发布
  (8)产品发布之后继续跟进运营反馈的问题,复现现场,并协助分析和解决用户场景下的问题
  四、软件测试过程中的bug分类
  (1)用户体验上的——包括界面设计、流程跳转等
  (2)功能性的——逻辑上错误,功能上未实现,或者在特定场景下出现的特殊问题
  (3)兼容性的——包括外部环境的兼容性(与其他软件的兼容性),内部环境的兼容性(一个大的软件安装目录下新旧版本的文件兼容性(如A新+B旧,A旧+B新等));以及硬件与软件之间的兼容(比如硬件的接口修改了,导致软件无法访问的)
  (4)性能上的——挂机时间较长或者某个操作次数频繁后,出现内存泄露,或者cpu占用过高
  (5)异常情况——设计用例时可将该部分内容全部摘取出来(比如测试网速时,连接无网的WiFi,或者直接不连接WiFi等)
  (6)安装卸载升级——全新安装卸载、覆盖安装卸载、升级功能
  五、测试用例的设计
  测试用例的设计基本上可以按照bug的分类来进行,这样就可以比较全面的覆盖到:
  (1)功能性(2)兼容性(3)性能(4)用户体验
  另外,测试用例的设计上需要针对冒烟测试、详细测试、以及回归测试做区分,设计出不同的测试用例
  以下为自己平时记录的心得:
  这里关注的都是客户端内容(PC和an droid的)
  输入页面为例,一般都包括输入框和确认按钮
  功能性:
  1、输入框内任何内容都不输入,点击确认按钮(注意:这里一定要增加判空逻辑,否则程序会抛出异常,导致崩溃;其他类似)
  2、输入框只输入一个框,其他不输入(以此类推),点击确认按钮
  3、输入框内输入格式错误(包括其他不允许输入的字符、带.的不输入点,如IP只输入数字、输入长度限制、特殊字符限制),点击确认按钮
  4、针对输入框部分可输入,部分可选情况,只输入必须输入的,点击确认按钮
  5、输入框输入正确内容和格式,点击确认按钮(能够正确设置成功?)
  性能:
  1、输入内容有问题时,点击确认按钮多久能够给出响应?
  2、输入内容正确时,多久能够设置成功,给出正确响应?
  交互:
  1、输入框展示(主tab内容)、输入框排布、以及确认按钮排版、风格一致
  2、输入框正确、错误提示
  兼容性:
  1、国际大环境兼容性:
  客户端产品要关注的兼容性——不同操作系统
  如果是web端——关注不同的浏览器
  如果是手机端——关注不同的手机型号、手机系统
  2、睦邻友好兼容性:
  跟其他的软件之间的兼容性
  跟一些需要顾及到安全性的产品的兼容性
  跟一些驱动层相关的产品的兼容性
  3、内部兼容性:
  自己的产品之间——新老文件的兼容性
  自己的产品跟兄弟产品之间——相互调用的兼容性(我们的产品调用其他产品的dll等)
  发布更新过程中的兼容性问题——比如有些模块升级之后,老的依然在内存中,必须得产品主程序重启才行;因此这种情况下就必须对原来程序加载老的和加载新的,进行测试,看是否会存在问题
  六、测试方法总结
  主要包括以下多种,均为自己平时总结:
  1、传统测试方法:
  关注功能、逻辑、用户体验等,与需求文档对照,总结测试点,编写测试用例,进行测试
  2、比较测试方法:
  此种方法比较适合于有产品调用我们的dll时采用,确定程序流程,老版本正常和不正常的地方,修改为新版本后,验证老版本不正常的地方得以修改,正常的地方依然正常
  3、类比测试方法:
  该种方法也可以叫做迁移测试法,比如考虑下载或者上传的加密问题,在一个项目中学习到这个注意事项后,在其他的项目中也就需要关注这一点
  4、通用测试方法:
  涉及到安全的产品及与用户本身隐私有关的产品,都必须进行加密,并且需要外界无法解密;对于一些需要常驻的进程或者可能会常驻的进程,需要关注性能方面的测试(挂太久会不会崩掉;程序会不会出现卡死或者紊乱)
  5、正向逆向结合测试方法:比如程序web端与app端进行联动对应测试等
  6、工具与真实环境对比测试:
  7、测试正常及异常情况均需要考虑

打印本页 | 加入收藏

上一篇:移动端App测试实用指南(上)    

关闭  
主要城市: 北京 上海 杭州 广州 南京 武汉 长沙
全部城市: