作业3

1、综述软件测试的16条公理 (参见 Lec.8, slide 43)

答:

利益相关者公理: 测试是代表测试利益相关者执行的信息或情报收集的活动

  • 公理1(利益相关者公理): 测试需要利益相关者。

    • 确定将使用提供的测试证据并从中受益的人员或组织,即利益相关者,和他们建立关系。需要明确如下问题:

      • 利益相关者是谁?
      • 利益相关者代表谁的利益?
      • 利益相关者想要什么测试证据?
      • 利益相关者需要这些证据做些什么?
      • 利益相关者什么时候需要这些证据?
      • 这些证据以什么格式进行呈现?
      • 多久需要一次测试证据?
  • 公理2(价值公理): 测试的价值是为利益相关者提供决策依据。
    • 测试的结果和测试证据的呈现方式决定了它的价值,而不是测试的来源。需要明确如下问题:

      • 利益相关者必须做出哪些验收决定
      • 利益相关者需要哪些测试证据才能自信地做出这些决定?
      • 什么时候能收集到所需的测试证据?
      • 谁需要提供相关专业知识来使人了解测试并使其有价值?
      • 谁最适合执行这些测试?
      • 被指定实施测试的人们或组织是否能够胜任测试?
      • 需要在什么环境和架构下测试才有意义和价值?
  • 公理3(范围管理公理): 如果我们不约束测试的范围,我们永远无法符合利益相关者的期望。
    • 测试者需要明确并同意在范围内和范围外的测试项目,并随着时间推移来管理范围的变化。需要明确如下问题:

      • 利益相关者如何定义系统的范围和哪些项目需要测试?
      • 哪些知识来源可以用来详细定义和理解范围?
      • 造成改变的可能驱动因素是什么?
      • 测试者应该如何适应测试范围的变化?
      • 测试者应该如何分析测试范围变化的影响?
      • 测试者是否有权拒绝或者挑战变更?
      • 如何保证缺陷的修复并重新通过测试?
      • 测试者如何测试变更?
      • 测试者如何传达测试的状态?
  • 公理4(足够好公理): 测试和验收的范围始终是妥协的结果。
    • 利益相关者和测试者必须都认识到:测试是没有限制的,并且软件的验收决定永远是基于不完整的测试证据的;实际上,即使只有根据利益相关者知道的信息得到的证据,软件的验收仍然可能发生。需要明确下列问题:

      • 做出验收决定需要多少测试的证据?
      • 谁有权做出验收决定?
      • 评估测试过程中收集的证据的价值的机制是什么?
      • 哪种覆盖模型可以用来判断已经收集到了足够的证据?
      • 哪种标准会被用来判断被测试的系统能否验收?

测试设计公理: 测试是我们创建环境、系统、人性和测试本身的心理模型的过程。测试设计是选择我们认为对我们和我们的利益相关者最有价值的测试的过程

  • 公理5(测试模型公理): 测试设计基于模型。

    • 选择那些能够得出对利益相关者有意义的测试的测试模型;认识到测试模型具有局限性和模型的假设。需要明确如下问题:

      • 是否可以将设计模型用作测试模型?
      • 它们是强制性的么?
      • 哪些测试模型能够用来从测试基础中得到测试?
      • 哪个测试模型会被使用?
      • 测试模型是否需要被记录或者它们纯粹是思维模型?
      • 使用这些模型有什么好处?
      • 这些模型有哪些简化假设?
      • 这些模型如何有助于提供对验收决定者有用的证据?
      • 这些模型如何互相结合来提供足够的证据同时避免重复?
      • 从这些模型得到的测试数量将如何限定?
  • 公理6(测试基础公理): 测试者需要知识来源来选择被测试的内容。
    • 确定并同意确定测试内容所需的知识来源。使用多种来源;比较它们并交叉检查。需要明确如下问题:

      • 使用哪些资源来描述系统并确定测试的内容?
      • 这些来源的派生/继承/来源/可靠性是什么?
      • 这些来源的权限或优先级是什么?测试结果如何与利益相关者的目标和关注点相关?
      • 谁会授权使用这些知识来源?
      • 谁会仲裁/解决这些知识来源的冲突?
      • 谁或什么能提供弥补这些来源分歧的知识?
  • 公理7(权威公理): 测试者需要知识来源以评价被测对象的实际产出或行为。
    • 确定并同意确定测试内容所需的知识来源。使用多种来源;比较它们并交叉检查。需要明确如下问题:

      • 应该使用哪些知识来源来得出预期结果以验证观察到的行为?
      • 利益相关者能否同意将这些资源用作测试权威?
      • 我们对这些来源能有哪些信心?
      • 测试执行前是否需要记录预期结果?
      • 这些来源的派生/继承/来源/可靠性是什么?
      • 这些来源的权限或优先级是什么?
      • 如果发生争议,谁或什么来源将是最终仲裁人?
  • 公理8(覆盖公理): 测试需要一个或多个覆盖模型。
    • 测试人员需要一种方法,以对利益相关者有意义的方式评估所选测试模型测试的彻底性或完整性。需要明确如下问题:

      • 描述测试的彻底性或充分性的覆盖定义将如何表述?
      • 这些覆盖定义能否用于定义可量化的覆盖率度量?
      • 这些覆盖措施如何与利益相关者的目标和关注点相关?
      • 这些措施能否支持评估、规划和进度报告?
      • 如何向利益相关者阐明测试的彻底性/充分性?
      • 关于该系统的可接受性,可以对这些覆盖措施作出什么解释?
  • 公理9(优先公理): 测试需要一种机制来排序测试优先级。
    • 测试者需要能够按价值顺序对测试进行排名,并确定哪些测试最有价值。需要明确如下问题:

      • 谁有权定义用于测试对象的优先级?
      • 如何阐明优先级?
      • 测试在当前环境下有哪些限制?
      • 谁有权施加、更改或消除这些限制?
      • 在范围界定过程中,谁授权包含或排除测试?
      • 在测试设计过程中,谁授权包含或排除测试?
      • 在测试执行过程中,谁授权包含或排除测试?
  • 公理10(易失性公理): 测试的知识来源是模糊且不完整的。
    • 测试基础,模型,权威和优先级划分方法容易出错,因为定义和使用它们的人员容易出现人为错误。需要明确如下问题:

      • 如何确定测试所需的知识来源?
      • 谁负责这些来源中的内容?
      • 来源的内容能否被一致同意?
      • 来源是否可靠?
      • 这些来源是否已根据其他参考资料进行验证,或根据贡献者和其他利益相关者的经验进行验证?
      • 可以采取哪些措施来最大限度地减少我们知识来源中错误的影响?
      • 如果消息来源可能出错或冲突,谁或什么是最终仲裁者?

测试执行与交付公理: 足够好公理总结了提供足够证据以支持自信决策的必要性。测试证据的价值取决于利益相关者做出所需判断的自信程度。

  • 公理11(信心公理): 通过利益相关者做决策时的信心来衡量测试的价值高低。

    • 测试者必须理解测试证据与利益相关者必须做出的决定之间的关系。测试应着重于提供利益相关者自信决策的证据。需要明确如下问题:

      • 利益相关者需要什么证据才能自信做出决策?
      • 利益相关者将如何使用该证据?
      • 测试目标如何在计划、规范、会议和其他沟通中表达?
      • 我们将如何确保尽早向利益相关者提供证据?
      • 我们将如何确保所产生证据的准确性和时效性?
      • 产生的证据在格式,细节,频率,精度,准确性方面有哪些偏好?
      • 利益相关者将如何传递,确认和审查证据?
  • 公理12(重复测试公理): 一些重复测试是不可避免的。
    • 制定并同意重新测试和回归测试的政策;在预算和计划中考虑重复测试。需要明确如下问题:

      • 在什么情况下会重新运行失败的测试?
      • 在什么情况下,通过的测试将重新运行?
      • 将应用什么标准来保留测试以供重用?
      • 在什么情况下会放弃或修改保留测试?
      • 为了进行计划,需要估计或定义:
      • 出于计划的目的,将如何估计或定义以下内容:测试失败的比例?缺陷修复和重新测试所需的时间?用于回归目的的测试比例?
  • 公理13(顺序执行公理): 先执行最有价值的测试—否则之后可能没有时间执行它们。
    • 顺序测试,以确保在执行时间有限或测试停止时运行最有价值的测试。需要明确如下问题:

      • 将采用什么选择和/或优先顺序标准来安排计划测试的顺序?
      • 什么选择和/或优先顺序的标准将应用于顺序计划外或临时测试?
      • 顺序测试的限制条件有哪些?
      • 如何最小化和管理测试之间的依赖关系?
      • 在什么情况下,测试可以不按顺序运行?
  • 公理14(环境公理): 测试执行需要明确、可控的测试环境。
    • 确定用于测试的环境和测试数据的需求和要求,包括及时管理该环境更改的机制。需要明确如下问题:

      • 谁负责测试环境的获取、配置和支持?
      • 测试模型对测试环境有哪些假设?
      • 如何阐明、协商测试环境的要求?
      • 如何保证测试环境的有效性和可用性?
      • 如何管理对环境的更改,使其与测试中的需求和其他可交付成果的更改保持一致?
      • 如何管理环境状态,包括备份和还原的版本?
  • 公理15(事件公理): 测试永远不会按计划进展,测试所得到的证据按照离
    散量子化的模式出现。

    • 承认测试不确定性原则,并管理利益相关者的期望。同意管理和沟通对成功交付测试证据有影响的事件的机制。

      • 测试方法如何适应计划外事件?
      • 计划如何阐明测试执行的不确定性和期望?
      • 如何管理测试基础,系统或环境的变更?
      • 如何沟通,跟踪和管理测试失败?
      • 如何记录,跟踪,分析和报告对测试有不利影响的计划外事件?
  • 公理16(永不结束公理): 测试永远不会结束,只会停止
    • 认识到测试通常有时间限制,可能无法完成。相应地管理测试人员和利益相关者的期望。需要明确如下问题:

      • 利益相关者能否意识到测试可能不会在计划的时间范围内完成?
      • 测试者是否理解可能不会运行所有测试,是否可能根据不完整的证据做出接受决定?
      • 测试者是否准备告知、建议和协助接受决定?
      • 测试者在提供测试证据和状态方面将扮演什么角色?
      • 测试者将如何支持利益相关者判断不确定结论的相关性/重要性?

2、结合你所熟悉的一套软件,针对上述公理表述你的见解。

答:

选择企业微信软件表述见解,这是一款企业通讯与办公工具软件。

利益相关者公理:

公理1(利益相关者公理): 企业微信的利益相关者包括企业,测试时需要和会使用这款软件的企业以及进行通讯的企业员工建立关系,才能明确测试证据的相关要求。

公理2(价值公理): 只有明白企业微信的利益相关者需要怎样的测试结果和测试证据的呈现方式,验收决定是怎么的,才能更好的安排需要收集的测试证据、进行测试的人员、测试的环境和架构,从而推进测试。

公理3(范围管理公理): 企业微信的功能可能会随着企业的需求而不断更新,测试的范围也会发生变化,就需要对测试的范围进行约束,以在某一阶段满足利益相关者的期望。

公理4(足够好公理): 企业微信在开发的过程中可能会存在缺陷,有一些错误可能在很小的使用范围内才会发生,测试时可能并没有发现,如果将大量的时间用于发现全部存在的缺陷,这样软件可能一直很难交付,所以验收只能在一定程度上收集测试证据保证软件在这些测试中不会出错,才能进行交付。

测试设计公理:

公理5(测试模型公理): 基于模型进行企业微信的测试设计,才能选择出那些对利益相关者有意义的测试,从而更好地进行测试。

公理6(测试基础公理): 需要一定的知识来源来选择企业微信软件被测试的内容,比如文件存储知识,测试企业保存的文件是否能够稳定保存或不会丢失,比如通信知识,测试企业员工通过软件能否正常通讯等等。

公理7(权威公理): 需要知识来源以评价企业微信软件被测试的内容的实际产出或行为。比如文件存储方面的知识,需要服务器、数据库等方面的知识,来评价测试中企业微信存储文件的稳定性和可靠性等。

公理8(覆盖公理): 使用一个或多个覆盖模型,以对利益相关者有意义的方式评估所选测试模型测试的彻底性或完整性,从而支持评估、规划和进度报告。

公理9(优先公理): 企业微信是一款企业办公软件,所以测试中它的通讯功能肯定是最有价值的功能,应该被优先测试。

公理10(易失性公理): 测试基础,模型,权威和优先级划分方法容易出错,因为定义和使用它们的人员容易出现人为错误。这时就需要相关方面的专家,来对测试进行指导,最大限度地减少知识来源中错误的影响。

公理11(信心公理): 比如测试软件的文件存储功能,能够成功的上传和下载文件的测试比能够上传压缩文件格式的文件的测试更加能够验证文件的存储功能正常,使利益相关者能够更有信心判断文件存储功能正常,那么验证上传和下载文件功能的测试,就比验证可以上传压缩文件格式的文件的测试,价值更加的高。

测试执行与交付公理:

公理12(重复测试公理): 因为企业微信的需求和功能会不断更新,那么就需要有重复测试来保证某些重要功能在变更后仍然使用正常,和新加的内容不会产生冲突。

公理13(顺序执行公理): 企业微信的通讯功能肯定是要被先执行的测试,因为其它企业也在开发类似的软件,那么软件的及时上线就显的十分重要,所以需要在一定时间内保证重要功能的正常,不然可能之后没有时间测试。

公理14(环境公理): 企业微信需要有明确、可控的测试环境,如果在一定版本的安卓环境下测试的软件功能,放到苹果或者安卓更新后的环境下去使用,那么就有可能出现没发现的问题,所以要保证一定的测试环境。

公理15(事件公理): 测试过程中有可能出现计划外的事件,比如测试内容变更或利益相关者的期望改变,这时就需要及时适应计划外的变化,从而调整测试。

公理16(永不结束公理): 软件可能总是会存在缺陷,在一定的时间内可能无法将所有缺陷都找出来,所以只能在一定范围内保证测试正确性,提供足够证据,满足大部分场景下的期望,进行交付软件。

软件测试作业3:软件测试的16条公理相关推荐

  1. 软件测试作业7:构建弱健壮的等价类测试用例

    软件测试作业7:构建弱健壮的等价类测试用例 1.构造下述三角形问题的弱健壮的等价类测试用例. 三角形问题:输入三个不超过100的正整数作为三角形的三条边,判断三角形是等边三角形.等腰不等边三角形.完全 ...

  2. 叮当软件测试简历,软件测试作业..doc

    软件测试作业. 软件测试作业 第1题 设有一个档案管理系统,要求用户输入以年月表示的日期.假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月.现用 ...

  3. 东华软件测试题,东华大学软件测试作业整理.docx

    东华大学软件测试作业整理 一.当测试结果与测试用例中描述的有所不同时,有哪些可能的原因呢?为什么说测试的初始状态很重要?答: 测试环境不同,测试步骤出现差异,测试系统本身bug.因为在进行测试时,需要 ...

  4. 东华软件测试题,东华大学软件测试作业整理

    东华大学软件测试作业整理 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 一.当测试结果与测试用例中描述的有所不同时,有哪些可能的原 ...

  5. 软件测试常见概念(软件生命周期、软件开发模型、软件质量模型、软件缺陷管理、软件测试概述、软件测试分类、软件测试与软件开发、软件测试原则、黑盒测试方法、白盒测试方法、性能测试)

    文章目录 1. 软件概述 1.1 软件生命周期 1.2 软件开发模型 1.2.1 瀑布模型 1.2.2 快速原型模型 1.2.3 迭代模型(增量模型或演化模型) 1.2.4 螺旋模型 1.2.5 敏捷 ...

  6. 软件测试与质量保证-软件测试部分练习题

    软件测试与质量保证-软件测试部分练习题 1单选(2分) 软件测试用例主要由输入数据和_________两部分组成. A.预期输出结果2.00/2.00 B.测试计划 C.以往测试记录分析 D.测试规则 ...

  7. 软件测试 | 期末复习——软件测试综述

    [软件缺陷概述] 1 软件缺陷是什么 1.1 软件出错机理 软件出错机理可描述为: (1)软件错误(error) 是指软件生存期内的不希望或不可接受的人为错误,其结果是导致软件缺陷的产生. (2)软件 ...

  8. 软件测试影响与分析,软件测试效率影响因素分析 - Mr.南柯 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

    方法是影响测试效率的主要因素之一.此外,人为因素.软件类型.缺陷数量.测试充分度等都会对测试效率产生影响.下面对这些因素作一个简要分析.51Testing软件测试网@&WMh,K#qdoq$~ ...

  9. 视频教程-软件测试入门视频教程-软件测试

    软件测试入门视频教程 河北师大软件学院测试教室主任.项目基地测试经理;尚大学.金牌讲师.擅长技术: 项目模块化流程设计.软件测试流程设计及优化.项目管理平台的整合与应用.功能性自动化测试工具.性能测试 ...

最新文章

  1. 机器学习的书看不懂怎么办?看看大神怎么回答?
  2. 图像分割综述:FCN、U-Net、PSPNet、DeepLab
  3. 使用docker镜像搭建svn+Apache环境
  4. [原+转]CSS hack 小技巧 让你的CSS 兼容ff ie6.0 ie7.0
  5. 教你读懂Ajax的工作原理
  6. 关于java.lang.NoClassDefFoundError的问题
  7. Node.js新手教程——怎样实现文件上传功能
  8. 敲7(升级版约瑟夫)
  9. python之七行代码制作GIF动画
  10. 历法 —— 星期与“日月火水木金土”
  11. 华为鸿蒙系统困难重重,困难重重,华为依然积极发展自主操作系统,同时布局鸿蒙和UOS...
  12. linux怎么卸载fishshell,为Bash/Zsh/Fish安装Starship Shell提示符的步骤
  13. 【简单】基于springboot的学生在线考试系统【老师、学生、管理员】
  14. 怎么计算机械需要的电机,步进电机力矩的怎么计算?
  15. nginx配置主域名跳转www域名并支持ssl
  16. 从360、QQ之争看腾讯的无耻
  17. mysql win10 优化设置_Win10电脑优化必做的几个优化技巧提升速度!
  18. Eclipse设置护眼(绿豆沙)颜色
  19. 实验三 密码破解技术
  20. 使用UE4制作RPG类游戏(学习笔记6)(技术笔记5) <刺客信条>

热门文章

  1. 【最爽的日期工具包LocalDate·超爽,超实用】(Java8版本)
  2. Merge Sort及其对一类问题的应用
  3. redis小功能大用处-bitmaps
  4. Eclipse开发过程中个VM Arguments的设置
  5. (转) android so 文件存私密数据,且防止 so文件未知应用盗用
  6. 第12章 与Spring集成
  7. sql 查看数据库中的各表的大小
  8. 统计代码行数_推荐一波代码量、行数、提交量、作者等全维度统计神器
  9. java 精通_你真的精通Java吗?
  10. Java黑皮书课后题第7章:7.14(计算gcd)编写方法,返回个数不确定的整数的最大公约数。编写一个测试程序,提示用户输入5个数字,调用该方法找出这些数的最大公约数,并显示这个最大公约数