83软件测试之系统测试

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

So#ware  Tes+ng  So#ware  Quality  AssuranceSystema+c-­‐Approach  Tes+ng    Pan  Maolin,  School  of  So#ware,  SYSU  panml@mail.sysu.edu.cnHDp://ss.sysu.edu.cn/~pml/se307/2012springAgenda• Case  Study    • Unit  &  Module  tes+ng  • Integra+on  Tes+ng  Strategies  • Regression  &  Smoke  Tes+ng  • High  Level  Tes+ng  • Func+onal  Regression  Tes+ng  -­‐  Example    • Test  Planning  • Oracle  Problem  • Summary  Case  studies  How  to  test  it  ?旅行保温杯  (腾讯测试面试题)智能手机电容屏保护玻璃  (产品元件测试)第一步:标准及相关性调查GB/T  11416-­‐2002《日用保温容器》  QB/T  2332-­‐1997《不锈钢真空保温容器》  GB  9684-­‐1988《不锈钢食具容器卫生标准》  GB/T11681-­‐1989《不锈钢食具容器卫生标准的分析方法》相关强!GB  11614-­‐1999《浮法玻璃》  GB  15763.2-­‐2005《建筑用安全玻璃-­‐钢化玻璃》相关弱!Case  studies  How  to  test  it  ?• 2009年第2季度,上海市质量技术监督局对本市生产销售的保温容器产品质量进行了专项监督抽查。  • 标准涉及项目;不锈钢真空保温容器的保温效能、容量、耐冲击、异味、橡胶件的耐热水性、手把的安装牢度、密封性、不锈钢内胆卫生要求(铅、镉)、瓶塞的装配吻合度以及标识项目⋯⋯。  • 本次抽查项目:保温效能、容量、热水泄漏、耐冲击以及标志项目  – 保温效能:核心指标。功能测试(F/P)  – 容量:实用指标,容量与口径直接关系效能。实用测试(U)  – 热水泄漏:涉及使用安全,并影响使用环境的美观。安全测试(Safety)  – 耐冲击:该项目关系产品使用寿命。可靠性测试(R)  – 标识:国家标准规定:产品名称、容量、口径、制造厂名和厂址、采用的标准号、使用方法及使用中的注意事项等需明确标注。(S)  测试必须综合考虑目的、成本与效果FURPS+是测试系统化思维框架,包括安全!hDp://zhidao.baidu.com/ques+on/195136271.html,2012.4假设你是驴友,您还需要旅游保温杯产品有哪些特性?Case  studies  How  to  test  it  ?• 没有文字的需求说明书能测试吗?  – 能!  – 使用FURPS+(Safety  &  Security)框架去思考  – 调查或体验用户使用中的常见问题(Failures)  – 问题分析à  质量场景旅行保温杯  (腾讯测试面试题)智能手机电容屏保护玻璃  (产品元件测试)How  to  test  it  ?Case  studies  How  to  test  it  ?• 国家标准主要项目  – 厚度偏差(F)  – 机械加工尺寸偏差(供需方自定义)(F)  – 弯曲度(F)  – 抗冲击(R/U)  • 手机用户、手机生产商关注的质量要素  – 划痕数量、深度检测(玻璃磨平工艺)(U)  – 耐磨性,硬度(玻璃强化工艺)(R/P)  – 丝印对准度,厚度(白色、黑色或彩色印刷)(U)  – 色彩纯度(例如:白色一般都篇黄)(U)  – 手机玻璃破碎条件与伤害(Safety)  – 产品识别与防伪(S)  GB  15763.2-­‐2005  刚化玻璃标准  hDp://wenku.baidu.com/view/0527583d376baf1ffc4fadf4.html智能手机电容屏保护  玻璃(产品元件测试)Case  studies  How  to  test  it  ?腾讯测试面试题  21、有需求说明或功能说明书吗?  有。⋯⋯  2、没有!?  啊?⋯⋯,Running  ⋯⋯Case  studies  Mindmap  –  A  power  tools  for  exchanging  ideas  场景1:用户正常登陆场景2:用户登陆失败一次失败多次失败场景3:状态、记住密码、自动                            登陆、QQ号记忆进行EC或PW组合测试场景4:转入注册、设置、密码键盘、                          找回密码等用例场景场景1:用户界面反馈提示合理性场景2:用户界面健壮性非法QQ号低强度密码场景1:典型网络、地区、压力下                          平均、最大登陆时间场景1:网络状态检测场景1:多QQ实例登陆场景2:短期内重复登陆单机登陆多机登陆场景1:企业标识、登陆日志、国际化、兼容性用户登陆功能实用性性能可靠性安全性其他红色是模糊的、  大概念类词汇紫色是方法细节Case  studies  Planning  –    next  jobs?Test  Strategy  Pyramid自顶向下规划  自下向上执行单元与模块测试实践  1、测试入/出口准则制定  2、测试手段:黑盒/白盒  3、测试工具:自动化  4、测试评估:代码覆盖  5、执行人员:程序员/测试Unit  &  Module  tes+ng  Unit  Testmodule  to  be  tested  test  cases  results  so#ware  engineer  标准:1008-­‐1987  -­‐  IEEE  Standard  for  So#ware  Unit  Tes+ngUnit  &  Module  tes+ng  Unit  Test  Processmodule  to  be  tested  test  cases  results  so#ware  engineer  1.  识别测试对象与特性  2.  确定测试方法与准则(ROI)  3.  设计测试数据集  4.  编写单元测试代码  5.  统计、分析测试结果  6.  度量代码覆盖,改进测试用例  Unit  &  Module  tes+ng  Unit  Test  Criterion  –  Economic–based• 识别测试对象  – 接口方法(是否确定的)  – 类/模块  • 用例设计方法与准则选择  – 确定的(determinis+c)  • 按基于说明书的方法测试用例  • 选择黑盒/白盒准则  – 不确定的(non-­‐determinis+c)  • 识别测试动作或数据序列  • 状态模型  • 测试手段选择  – 通过测试(静态数据集)  – 异常测试(静态数据集)  – 随机测试(动态数据集)  module  to  be  tested  test  cases  红色:都是高成本的测试方法或准则,请慎重选择!接口/功能特性  外部变量/文件  内部静态变量  边界条件  独立测试路径  异常处理Unit  &  Module  tes+ng  Unit  Test  Environment•   驱动(driver)  – 测试程序  – 加载Prefix  value  – 加载测试数据(如xml)  – 执行测试  – 卸载测试夹具  – 打印报告  • 桩(stub)  – 被测试模块依赖的方法  – 例如:三角形面积计算程序  • 桩:三角形判断程序  int  tritype(int  a,  int  b,  int  c)  {  if  (a=0)  return  -­‐1;  else  return  1}  Module  stub  stub  driver  RESULTS  test  cases  敏捷开发:Stub,  Mock对象是最常用实践Unit  &  Module  tes+ng  Unit  Test  -­‐  example• 类contains方法的黑盒测试  Class  Booklist  implementa+on  List  {  Boolean  add(  Book  book);  …  …  Boolean  contains(Book  book);  …  …  }  • 单元测试步骤  – 识别测试对象(确定的测试吗?)  • Boolean  contains(list,  book)  – 测试特征  • Characteris+cs  numbers  of  list  (0,1,k)  • Characteris+cs  book  (null,  book  instance,  shallow  copy  of  the  book,  subclass  instance)  • Characteris+cs    result  (true,  false)  • Characteris+cs    found  at    (first,  middle,  last)    要点:尽可能把问题表示成确定的测试                            类测试要考虑equals,  instance  of等特殊算子。Unit  &  Module  tes+ng  Module  Test  -­‐  example• 类BookDAO接口API测试  – Class  BookDAO  extends  com.xxx.persistant.DAO  {  • void  Create(Book  book);  • void  Update(Book  book);  • void  Delete(Book  book);  //  use  id  only  • Book  FindBookbyID(string  ISBN);  • Booklist  FindBookbyQuery(string  whereClause)  • …  …    – }  • 模块测试步骤  – 识别测试对象  • BookDAO类  – 设计方法与准则  • Happy序列:每种方法一次  • 对每个方法输入/功能等价划分,选择合适组合策略,覆盖相关准则  • 异常序列:ID重复、Delete  before  Update  、…  …    测试序列:  book  =  new  Book(“__XXX@__”)  Create(book)  AssertEqual(FindBookbyID(book.id),  book)  //有BUG  //修改book  Update(book)  AssertEqual(FindBookbyID(book.id),  book)  AssertEqual(FindBookbyQuery(“ID=id”)[0],  book)  需要更强准则的测试吗?如单元测试、随机测试  程序员编写/测试编写哪个成本底?Integra+on  Tes+ng  Strategies  the  “big  bang”  approachOp+ons:  •  the  “big  bang”  approach  •  an  incremental  construc+on  strategy  Integra+on  Tes+ng  Strategies  Top-­‐Down  approachto

1 / 59
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功