精华内容
下载资源
问答
  • 软件测试 测试停止标准 有一个要测试的软件。... 他们怎么知道什么时候停止什么时候有足够的测试? 很明显-当没有更多的bug可以运送产品了! 如果你这样想,我对你来说是个坏消息。 你根本是错误的...

    软件测试 测试停止标准

    有一个要测试的软件。 有一组测试人员。 预算中有一些钱。 时间表中有一些时间。 我们现在开始。 测试人员试图破坏产品,发现错误,报告错误,在必要时与程序员进行交流,尽最大努力找出问题所在。 最终他们停下来说“我们完成了”。 他们怎么知道什么时候停止? 什么时候有足够的测试? 很明显-当没有更多的bug可以运送产品了! 如果你这样想,我对你来说是个坏消息。 根本是错误的

    Glenford Myers在他的著作《软件测试的艺术》中完美地解释了所有这些内容。 我将在这里再次总结一下。

    测试书 首先,“测试是为了发现错误而执行程序的过程”(第6页)。 注意,目的是发现错误。 并不是要证明产品能正常工作,而是要证明它不能按预期工作 任何测试人员的目的都是展示如何破碎产品,如何在不同的输入下使产品失效,如何在压力下崩溃,如何误解用户,如何不满足要求。 这就是为什么迈尔斯博士将测试称为“破坏性的,甚至是虐待性的过程”(第6页)。 这是大多数测试人员不了解的内容。

    其次,任何软件都有数量不限的错误 迈尔斯博士说:“您不能测试程序以确保它没有错误”(第10页),并且“在程序中查找所有错误是不切实际的,通常是不可能的”(第8页)。 这也是大多数测试人员不了解的内容。 他们认为存在的bug数量有限,他们每天必须找到并称其为bug。 字面上没有限制! 在任何软件产品中,错误的数量是无限的。 无论产品大小,复杂或简单,无论新旧。

    考虑到这些公理,让我们尝试确定何时必须停止测试人员。 Meyers博士认为,“测试程序时最难回答的问题之一就是确定何时停止,因为无法知道刚刚检测到的错误是否是最后一个剩余错误”(第135页)。

    他们找不到所有错误,无论我们给他们多少时间。 他们有动力去寻找更多的人。 但是在某个时间点,我们必须做出决定并发布产品。 看起来我们将发布其中包含错误的代码? 确实是的! 我们将发布一个充满错误的产品。 唯一的问题是已经发现了其中的多少,以及它们有多重要。

    让我们放在一起。 有太多错误无法在合理的时间内找到所有错误。 但是,我们迟早必须发布一个新版本。 同时,测试人员将始终告诉我们那里存在更多的错误,他们可以找到更多的错误,只是需要更多的时间。 该怎么办?

    迈耶斯博士说:“由于测试的目的是发现错误,为什么不让完成标准检测到一些预定义的错误?” (第136页)。 确实,我们应该预测有多少个bug足以找到,以便对产品准备好交付有一个令人满意的信心。 然后,发货,有意识地了解它仍然有无限数量的尚未发现的错误。

    书本思想 大卫·韦斯特在《 对象思维》中说:“发布软件是为了使用,而不是在已知正确的情况下才发布,而是在发现错误的速度降低到管理层认为可以接受的水平时”(第13页)。

    因此,退出测试过程的唯一有效标准是发现预测数量的错误。

    翻译自: https://www.javacodegeeks.com/2015/09/when-do-you-stop-testing.html

    软件测试 测试停止标准

    展开全文
  • 计划测试系列(七)——我们什么时候停止? 软件测试 我们什么时候停止我们的项目?我们应该在我们达到目标的时候停止。可是,目标是什么?Aaron认为所谓目标,即测试应该实现的可度量的要求,这个东西更常见的叫法——...
  • 什么时候已经测够了, 可以停止了, 这个问题是QA常常会被问到的, 也是其中一个不容易回答的问题. 可是这也是你无法逃避的问题, 因为每次product 要release时, 你就要面对一次, 即使没有人问你, 你自己也会问自己...

     什么时候已经测够了, 可以停止了, 这个问题是QA常常会被问到的, 也是其中一个不容易回答的问题. 可是这也是你无法逃避的问题, 因为每次product 要release时, 你就要面对一次, 即使没有人问你, 你自己也会问自己是不是可以出货了.
      以下是常见的的criteria
      1. All the high priority bugs are fixed.
      - 这通常是最重要的, 如果重要的bug没解, 是不敢出货的
      - 不过通常仅限于重要的bug, 至于所有bug都要解掉这件事, 好像不是每个人都愿意买单的. 所以这里会有些落差存在, 需要事先和manager and RD沟通, 否则最后会没有共识.
      2. The rate at which bugs are found is too small.
      - 通常这是要看是否bug submission ratio是否下降, 也就是看是否有收敛的迹象. 如果还是在向上发展, 当然是无法结束.
      - 即使现在bug已经解完, 并且目前没有发现新bug, 但是若是目前submission ratio值是很高, 也不可能瞬间忽然降成0. 所以这通常意味着, 其实受测系统里面还有很多潜藏的bug, 只是目前还没被抓出来. 所以还是要降低到某个程度才是比较save的状况.
      3. The testing budget is exhausted.
      没钱自然就没什么好说的, 当然就停止测试啦!!
      4. The project duration is completed.
      时间了也是个无可奈何的指标, 这有可能时当初schedule就有问题, 或是测试规划的有问题. 导致时间不够使用.
      5. The risk in the project is under acceptable limit.
      如果risk很低, 是project可以接受的范围当然是无所谓啦!! Manager说了算!! 呵呵~~~
      其实测试是否可以停止,是否足够, 这要看你是否收及足够的information. 毕竟测试是个information-gethering的流程, 如果你有足够的信息, 让你可以掌握目前project质量的状态, 你自然可以很清楚知道目前测试是否已经够了, 可以结束了.
      所以当你不知道是否测试可以结束时, 先问问自己你是否掌握项目的状况. 如果不知道, 当然是回答不了啦!!
      Reference
      1. When should Testing stop?
      http://creativetesters678.blogspot.com/2008/07/when-should-testing-stop.html
      2. Chapter 8 Manaing the Testing Project, Lesson Learned in Software Testing.
      Lesson 185 "Enough testing" mean "enough informaiton for my clients to make good decisions"

    最新内容请见作者的GitHub页:http://qaseven.github.io/

    展开全文
  • 我有一个windows服务程序,之前都可以正常运行的,但是现在在服务里面一开就报错,出现“本地计算机上的 ‘我的windows服务程序’ 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止”的提示框,求大神...
  • 专题目录算法的世界最优停止理论,什么时候应该停止观望一个关于时间管理的数学解决方案想得太多?你可能过度拟合了博弈论,别人的想法选择时机的困境我身边有一个空缺,现在有一些人提出了申请,目标是从中选出最...

    fb32d75c5a5dabb6a9c05a3605344fb4.png

    专题目录

    1. 算法的世界
    2. 最优停止理论,什么时候应该停止观望
    3. 一个关于时间管理的数学解决方案
    4. 想得太多?你可能过度拟合了
    5. 博弈论,别人的想法

    选择时机的困境

    我身边有一个空缺,现在有一些人提出了申请,目标是从中选出最优秀的申请者,如果面试太少人的话就很可能会错过优秀的申请者;如果面试太多人的话,反而有可能后面的面试者不够优秀而让前面的面试者持续等待失去职位的兴趣。这个问题听起来是不是很熟悉,其实我们在秋招,或者是找人生伴侣都是遇到相同的困境,过早或者过晚我们都可能会后悔。

    那么问题来了:什么时候出手才是最佳时机?

    最优停止理论

    核心要点是,在一个由时间或者数量组成的序列当中,以37%作为分界线,在经历前37%的时间或者候选的时候,先不要做决定,记住那个最好的,这个期间称为观察期;在37%以后,如果遇到比前面更好的,就要毫不犹豫下决定,选择那个最好的。

    这个理论恰恰适合用于对某件心头好举棋不定,婚姻什么时候遇到对的人,什么时候该停止面试录用申请者等等一系列的问题。

    我们该什么时候确定自己的伴侣

    这个问题不只是我们会困惑,就连古希腊哲学家苏格拉底也对这个问题很有兴趣,我们必定在高中语文课本听多了苏格拉底叫他徒弟去麦田里面走一走,挑麦子的故事。

    而这个问题在现代也被卡内基梅隆大学的运筹学教授迈克尔特里克进行了量化研究,37%即可以是指 但这个值其实并不是固定的,跟具体的人以及具体的条件和环境都有关系。

    比如如果一个人的条件很好,不想过早结婚,那她完全可以多等几年,把37%这个观察期范围稍微放大;如果一个人的条件很有限,或者说想尽早结婚,那么她应该把这个范围缩小,在前面如果遇到条件合适的就应该尽快结婚。

    此外,还要考虑被拒绝的情景。如果一个人提出求婚有50%的可能性会被拒绝,那么就已经应该尽早开始尝试,在遴选1/4的时候就结束探索,如果有合适的就应该求婚;如果遭到拒绝就要继续寻找下一位最佳人选,根据计算结果,最后的总概率也能达到25%。

    当然,还有更好的情况就是,还可以回过头去向观察期内的理想对象求婚并且接受的这种情况,这样的话,你大可放宽心,你大可观察前61%,在之后的39%内再做决策,这样你成功的概率是61%。

    37%这个值是如何来的

    在面试问题当中,如果我们想要录取到最优秀的申请者,在不同面试申请者数目下,录取到最优秀的申请者的概率是怎么变化的呢?

    如果只有1名面试者,直接录取,理想结果概率是100%; 如果有2名面试者,任意录取,理想结果概率是50%; 如果来到3名面试者的话,随机选择得到理想结果的概率是33%。

    但实际上我们通过策略获得比33%更好的结果,关键在于对第二位申请者的处理上。因为对于第二位的位置,我们能够知道第一位的信息,如果第二位比第一位更好的话,那就毫不犹豫录取第二位,反之则拒绝,因为后面还有第三位。在这种情况下,选中最优秀人选的概率恰恰是37%。

    随着人数的增加,大致划入观察期的人数也会相应增加,研究者做了一系列统计以后,发现采取最理想结果的概率基本都稳定在37%上面。

    d1e8b6655a645c18767a0a89c1845ad6.png

    这其实算是个好消息,因为就算你有上百万个后候选者,这个方案仍能够确保你有37%的成功率,而不是随着人数激增而迅速衰减。

    结语

    37%的最优停止理论不是万能的,《指导工作与生活的算法》这本书告诉我们,尽管37%的停止理论是一个比较靠谱的标准,但我们仍有63%的概率会犯错,但是这个理论妙就妙在这个37%的概率跟你的样本量没有太大关系,哪怕你的样本量跨度是上百万,以37%作为一个分割节点仍能够保证你做出一个还不错的决定。

    37%最优停止理论除了可以应用在寻找伴侣,工作等大事上,你当然可以用于其他需要等待和选择的事情上。 实际上,我认为过多的数学计算是没有必要的,但我认为有一个参考标准十分必要的,毕竟没有参考标准跟盲人抓瞎差不多。

    特别喜欢《千与千寻》电影里面的一个场景,就是千寻坐海上列车那个静谧的美好瞬间。

    1260deeadbf4e993e4b9db45be47aede.png
    人生就是一列开往终点的列车,我们很多时候只能做好一次决定,但是我们可以选择如何去做决定。
    欢迎大家关注我的公众号,与我一起交流

    7c5e56b88235ff78ac1cf8ed0817988e.png
    展开全文
  • 什么不强制停止?而是通知、协作 如何用 interrupt 停止线程? 休眠阶段是可以感受中断的?怎么处理呢(避免屏蔽中断)? 为什么用 volatile 标记位的停止方法是错误的? 线程操作方法: 为什么不强制...

    目录

    为什么不强制停止?而是通知、协作

    如何用 interrupt 停止线程?

    休眠阶段是可以感受中断的?怎么处理呢(避免屏蔽中断)?

    为什么用 volatile 标记位的停止方法是错误的?


    线程操作方法:

    为什么不强制停止?而是通知、协作

    对于 Java 而言,最正确的停止线程的方式是使用 interrupt。但 interrupt 仅仅起到通知被停止线程的作用。而对于被停止的线程而言,它拥有完全的自主权,它既可以选择立即停止,也可以选择一段时间后停止,也可以选择压根不停止。比如:线程正在写入一个文件,这时收到终止信号,它就需要根据自身业务判断,是选择立即停止,还是将整个文件写入成功后停止,而如果选择立即停止就可能造成数据不完整,不管是中断命令发起者,还是接收者都不希望数据出现问题。

    如何用 interrupt 停止线程?

    停止方式:

    while (!Thread.currentThread().islnterrupted() && more work to do) { // 没有中断信号,并且还有工作要做
        do more work
    }
    

    一旦调用某个线程的 interrupt() 之后,这个线程的中断标记位就会被设置成 true。每个线程都有这样的标记位,当线程执行时,应该定期检查这个标记位,如果标记位被设置成 true,就说明有程序想终止该线程。在 while 循环体判断语句中,首先通过 Thread.currentThread().isInterrupt() 判断线程是否被中断,随后检查是否还有工作要做。&& 逻辑表示只有当两个判断条件同时满足的情况下,才会去执行下面的工作。  

    休眠阶段是可以感受中断的?怎么处理呢(避免屏蔽中断)?

     sleep、wait 等可以让线程进入阻塞的方法使线程休眠了,而处于休眠中的线程被中断,那么线程是可以感受到中断信号的,并且会抛出一个 InterruptedException 异常。这样一来就不用担心长时间休眠中线程感受不到中断了,因为即便线程还在休眠,仍然能够响应中断通知,并抛出异常。

    避免屏蔽中断,两种方式:

    • 方法签名抛异常,层层向上抛出异常InterruptedException;

    • 使用try...catch,在catch中再次中断(Thread.currentThread().interrupt());

    为什么用 volatile 标记位的停止方法是错误的?

    首先需要知道变量处理经历的步骤:

    • 获取变量原有的数据内容副本;

    • 利用副本为变量进行数学计算;

    • 将计算后的变量,保存到原始空间之中;

    具体如图:

    如果一个属性上追加volatile关键字,表示不使用副本,而是直接操作原始变量,相当于节约了:拷贝副本与重新保存的步骤。

    所以volatile只是避免了其它线程更改volatile属性的问题,但无法使用volatile标记位终止线程。例如:在休眠阶段是无法知道标记更改。

     

    展开全文
  • 主要介绍了记录asp.net网站是什么原因导致停止运行的具体实现
  • #include #include #include #include using namespace std; int max1(int,int); int max2(int,int); int x,y,i,j,m,n,k,t,l;...int a[501],f[501][501],d[501];...各位大神帮忙看看程序停止运行是为什么
  • ![图片说明](https://img-ask.csdn.net/upload/201705/26/1495765021_277423.png) 如图,接下来设备就出现cycb已停止,我找不到什么问题,请大神解答
  • 什么你应该停止使用EventBus

    千次阅读 2015-12-14 13:45:26
    什么你应该停止使用EventBus 原文链接 : Why you should avoid using an event bus原文作者 : Tony Cosentini译文出自 : 开发技术前线 www.devtf.cn译者 : Zhaoyy 文中的EventBus多指事件总线这种...
  • 递归函数停止的条件一般定义在递归函数内部,在递归调用前要做一个条件判断,根据判断的结果选择是继续调用自身,还是 return 返回,停止递归。递归函数停止的条件: 判断递归的次数是否达到某一限定值 判断运算的...
  • SQL安装时不知道为什么显示ScenarioEngine.exe停止工作,急需答案,急需急需谢谢
  • tcp recv() 什么时候停止

    千次阅读 2015-05-29 02:16:30
    tcp 传输是基于流的方式。send() 只是把数据放到发送缓冲区...那么我们在循环里 recv() 什么时候停止呢。 正常情况: 1.你自己的包里带长度,服务器端首先接收到长度,然后不停的按长度接收,接收满那些长度,则此次发
  • 今天我们将讨论为什么你应该停止使用RSA密钥交换。SSL/TLS生态系统的最大弱点之一是其向后兼容性。上周,有六位研究人员发表了一篇论文,详细介绍了一种名为Bleichenbacher CAT的旧漏洞的新变种,该漏洞强调了这种...
  • 我在定时器没到0秒的时候点击提交按钮,让num=0,调取接口成功后,让num=5,再次运行定时器,但是数字每秒跳两下,为什么?求帮助!!! 这是我写的定时器 ![图片说明]...
  • 什么您应该停止使用Google Glass:有关为何应停止使用Google GlassGlass并找到以隐私为中心的高效替代方案的文章
  • python里什么函数可以让后面的指令停止执行 函数内用 return 函数外用 exit()
  • 什么您应该停止使用Google消息:有关为何您应该停止使用Google消息并找到以隐私为中心的高效替代方法的文章
  • 错误 2017-9-30 22:23:43 Application Error 1000日志名称: Application来源: Application Error日期: 2017-9-30 22:23:43事件 ID: 1000任务类别: (100)级别: ...
  • Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:01:18) [MSC v.1900 32 bit (Intel)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> dir(__builtins__)['Arit...
  • 什么forEach不能停止循环

    千次阅读 2019-01-30 18:58:07
    疑问:为什么forEach不能停止循环呢? 网上解释:,forEach()无法在所有元素都传递给调用的函数之前终止遍历。也就是说,没有像for循环中使用的相应的break语句。如果要提前终止,必须把forEach()方法放在一个...
  • mysql刚启动就停止什么原因

    千次阅读 2018-07-17 09:57:00
    1、找到mysql安装目录,将其配置文件my.default.ini改名为my.ini,并且将my.ini移至bin目录下。2、启动命令行,将目录切换到mysql安装目录的bin目录下。3、接下来,在命令行执行命令:mysqld --initialize --user=...
  • 由于一些这样那样的事,以及压力,好久都没来博客园了,也好久没写什么像样的程序了,大三是个让人迷茫的时期。。不过程序员就不能停止学习!!! 转载于:https://www.cnblogs.com/lzr-rr/p/3738032.html...
  • 什么你应该停止复制和粘贴

    千次阅读 2020-09-04 03:53:43
    这也是为什么你也应该尝试停止 "复制和粘贴 "的习惯:。 技术成熟度 减少复制和粘贴意味着更多的批判性思维。当你从一开始就打出代码时,你必须知道每个关键字和字符背后的原因。这可以培养技术的复杂性,帮助你...
  • pop3和smtp服务好像是同时停止,查看事件记录,都被系统发了一个停止控件: Microsoft POP3 Service 服务成功发送一个 停止 控件。 Simple Mail Transfer Protocol (SMTP) 服务...系统为什么要让服务停止??????
  • 棘轮停止器、带棘轮的制动器
  • 什么您应该停止使用Google-Tensorflow:有关为何您应该停止使用Tensorflow(Google产品)并找到以隐私为中心的高效替代方案的文章
  • yolov3应该什么时候停止训练?

    千次阅读 2018-12-10 17:06:00
    您在9000次迭代后停止了训练,但最佳结果可以给出之前的权重之一(7000,8000,9000)。 它可能由于过度拟合而发生。 过度拟合  - 例如,您可以从training-dataset检测图像上的对象,但无法检测任何其他图像上的对象...
  • 使用Hangfire循环任务时,在自己电脑上部署到iis上是可以的,但是在测试环境的服务器上执行20分钟后任务就停止了,不知道是什么原因,那位大神能解析一下。谢谢了。 RecurringJob.AddOrUpdate(() => ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,211
精华内容 6,484
关键字:

停止什么