2019-09-11 16:30:47 bo_2020 阅读数 492
  • QuickTest Professional深入剖析--【下部】

    《QuickTest Professional》原书作者授课,书籍配套视频,QuickTest是测试领域的一门重要的专业技术课程,其属于测试领域中课程。课程讲授当前HP旗下主流自动化测试工具QuickTest Professional。

    20943 人正在学习 去看看 李晓鹏

答案很简单:软件应用有多广,软件测试就有多重要。

如今,人们的衣食住行、社会的各行各业都离不开各类软件的正常运作和支持。小到手机里五花八门的APP——扫码骑车的小程序,付款买单的支付宝,大到关乎国计民生的大系统——铁路运输的调控系统,卫星发射的操控系统,这些都在软件的范畴之内。而软件测试工程师,就是软件的“体检员”,更是软件质量的“把关者”,重要性自然不言而喻。
  在这里插入图片描述

当然,市面上还是不乏有一些误解与偏见:“软件开发比软件测试更重要”、“软件测试几乎没有技术含量”、“有时间多测点,没时间少测点”……诸如此类的错误观念,都直接或间接地导致了部分公司因为不够重视测试,造成大量软件Bug频发,进而引发货币和人员损失,甚至爆发灾难性的后果,付出昂贵的代价。

•2019年1月,拼多多网站出现重大BUG。有网民表示,只要领取面值为100元的优惠券,就可以只花不到五毛钱充值100元话费,而且还可以通过注册新账号的方式无限制领券。消息曝光后,有大批用户开始了连夜“薅羊毛”的节奏,利用无门槛优惠券来充值话费、Q币。拼多多官方宣称,此次直接导致被盗取数千万元平台优惠券。

•2019年1月,爱彼迎APP客户端出现汇率转换Bug,用户使用美元、欧元、英镑等币种搜索房源,结算时换成人民币、越南盾等货币支付,订单金额未根据汇率变化。即100美元(折合人民币685元)/晚的房源在结算时改为人民币结算,只需支付100元人民币,甚至有用户选择11万英镑的房子,在支付时选择越南盾,折合人民币只需35元。

•2018年11月,东方航空官网和App出现系统漏洞,多条国内航线售价地址正常价格的一折以下,多条国内航线的头等舱、商务舱往返机票最低仅需90元。

•2015年,伦敦彭博终端由于软件漏洞宕机,导致金融市场上超过30万交易商受到影响。迫使政府推迟30亿英镑的债务出售。

•F-35战斗机成为软件漏洞的受害者,导致其无法正确检测目标。

•日产尼桑汽车由于安全气囊感应探测器的软件故障,召回超过100万辆汽车。据报道,由于此软件故障导致两起事故。

•星巴克咖啡由于POS系统的软件故障无法处理交易,因此被迫关闭了美国和加拿大约60%的商店。

•由于软件故障,亚马逊上一些第三方零售商的产品价格全部被降至1英磅,由此导致惨重损失。

•1999年4月,一个软件漏洞导致12亿美元的军事卫星发射失败,这是历史上最昂贵的事故。

•1996年5月,一个软件问题导致美国一家大型银行823名客户的银行账户被记入9.2亿美元。

•1994年4月26日,中国航空公司空中客车A300因软件故障而坠毁,造成264人无辜死亡。

•1985年,加拿大的Therac-25放射治疗机由于软件Bug而发生故障,向患者提供了致命的辐射剂量,造成3人死亡,3人严重受伤。

……

这么多触目惊心的事例,相信足以说明软件测试的重要性和必要性。

但是,随着软件竞争的白热化,软件质量已经成为软件的核心竞争力所在,因为从客户的角度看,软件的质量远比功能更重要。打个比方,你买个手机,你是更多的关注它的功能,还是关注它的质量,如果你的新手机,一买回来就不能用,你的心情会是怎样,你还闲心关注它有好多好炫的功能吗?

令人欣慰的是,已经有越来越多的管理者认识到“软件测试的重要性”,对软件测试的重视程度也越来越高。而对于软件测试行业从业者来说,无论是加入公司独立设置的测试部门,还是进入专业的软件测试服务公司,都会成为不错的职业选择。

2018-10-11 10:42:54 srdwxA 阅读数 277
  • QuickTest Professional深入剖析--【下部】

    《QuickTest Professional》原书作者授课,书籍配套视频,QuickTest是测试领域的一门重要的专业技术课程,其属于测试领域中课程。课程讲授当前HP旗下主流自动化测试工具QuickTest Professional。

    20943 人正在学习 去看看 李晓鹏

软件测试是为了发现错误而执行程序的过程,这就说明目的是为了发现错误,动作是执行程序。

在进行软件测试的过程中,要遵循很多的原则,以下是几个重要的测试原则:

1)      测试用例中一个必需部分是对预期输出或结果进行定义。

         对于软件测试,必须是有明确的定义输入数据和条件,同时对输出结果有准确的判断。这样才能辨别是否是有效的测试,当前的结果是否是正确的。

2)      程序员应当避免测试自己编写的程序。

         人都会有固定思维,一方面是可能对软件需求规格书的理解偏差,导致编写的程序也有偏差,所以自己没有发现。另一方面是人的倾向是程序是正确的,会尽量去避免发现错误。

3)      编写软件的组织不应当测试自己编写的软件。

         原理跟上一条相似。会潜意识里避免发现错误,且难以发现自身问题。

4)      应当彻底检查每个测试的执行结果。

5)      测试用例的编写不仅应当根据有效或预料到的输入情况,而且也应当根据无效和未预料到的输入情况。

         通常会忽略无效和未预料到的输入情况,而实际上很多错误都发生于此。

6)      检查程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了其不应该做的”。

         这也是测试的两面,没有做应该做的是错误,做了不该做的也同样是错误。

7)      应避免测试用例用后即弃,除非软件本身就是一个一次性的软件。

         编写测试用例本身是一个复杂且耗时的事情,要考虑之后的迭代,产品的更新换代,能够节省不少时间,其次能及时对测试用例进行优化和升级。

8)      计划测试工作时不应默许假定不会发生错误。

         任何错误都可能会发生,还有很多未发现的隐藏错误。必须充满好奇心和质疑的态度去探究。

9)      程序某部分存在更多错误的可能性,与该部分已发现错误的数量成正比。

         发生错误越多的地方意味着程序的这部分越不稳定,隐藏的问题也越多。所以要重点测试发生了更多错误的地方,挖出隐藏问题。

10)      软件测试是一项极富创造性、极具智力挑战性的工作。

2015-04-14 15:14:46 jiangbing0125 阅读数 942
  • QuickTest Professional深入剖析--【下部】

    《QuickTest Professional》原书作者授课,书籍配套视频,QuickTest是测试领域的一门重要的专业技术课程,其属于测试领域中课程。课程讲授当前HP旗下主流自动化测试工具QuickTest Professional。

    20943 人正在学习 去看看 李晓鹏
    1.软件开发过程中分为几个步骤:定义问题、需求分析、规划架构、软件架构(或更高层的设计)、详细设计、编码与调试、单元测试、集成测试、集成、系统测试、保障维护
    2.构建活动包括:详细设计、编码、调试、集成、开发者自测、单元测试和集成测试
    3.构建被称作为编码和编程
    4.构建活动对软件的质量有着实质性的影响
    5.非构建活动包括:管理、需求分析、软件架构设计、用户界面、系统测试、维护
    6.构建活动在整个软件开发周期所占的比例是30%~80%,需求分析和架构设计在构建活动之前完成的工作,它们可以让项目更有效的构建
2012-12-10 13:44:19 wuyanhong1985 阅读数 408
  • QuickTest Professional深入剖析--【下部】

    《QuickTest Professional》原书作者授课,书籍配套视频,QuickTest是测试领域的一门重要的专业技术课程,其属于测试领域中课程。课程讲授当前HP旗下主流自动化测试工具QuickTest Professional。

    20943 人正在学习 去看看 李晓鹏
作为一个测试人员,最基本的技能就是设计测试用例,有很多人以为测试的工作很简单,谁都可以去做测试,在我没接触这个职业之前,我也有过这样的思想,而当自己真正从事后会发现,真的不简单;

  同一个功能,测试新人可能设计3个用例,而经验丰富的测试人员可以设计出6-10个测试用例,这是为什么呢?因为你想不到。只有经过不断的实践和栽跟头,你才能积累经验,知道哪里会出问题。而这些,是测试新人和开发想不到的地方。这就是优势。

  一个产品的质量好不好,跟测试用例的设计的覆盖度有很大关系。如果你的用例,只覆盖了60%的缺陷,那么剩下的40%呢?有可能剩下的30%是你在测试的过程中发散出来的逻辑,而10%,可能就是你遗漏的。那么这个30%,可以作为我们的经验,及时的补充到测试用例里去,下次你设计的时候,你可能能覆盖65%的缺陷了。可别小看这5%,水滴穿石,日积月累后,你可以很放心的把设计的用例交与新人去执行了;

  上面说的是测试用例的设计的重要性。下面再谈下设计方法。

  目前我设计过的主要有几种方式:1、步骤执行的形式;2、思维导图的形式(Xmind);(当然还有很多其他形式,欢迎大家拍砖)

  我比较推荐思维导图的形式,思路清晰,对功能点一目了然,测完可以review下功能点以确保无遗漏。最主要的是好维护,因为系统的功能是经常会变的。步骤执行的形式就是对新人来说,很好执行,但是维护成本太大了,不推荐。

  那么怎么使用思维导读来写case呢?

  首先,写case之前我们要做一个设计,深度阅读需求文档,整理出系统的功能点,如果开发有写UC那就更好了,直接使用开发的UC功能点并对不全的功能点进行补充。但是这里功能点描述切记太过冗余,最好能用自己的语言进行归纳总结。总结之后对功能点会有自己的理解,而不要拷贝PD提供的需求文档。

  接下来我们就针对功能点开始设计case了,写case 的时候,用最简洁的语言描述出逻辑就可以了,其实也就是一个个idear;对于执行起来很复杂的,可以备注上执行步骤;

  写case的时候我们要注意几点:

  1、最基本的,要保证功能点正常操作流程。

  2、尽可能的把所有执行路径(逻辑)都列出来。

  3、考虑边界值、异常情况、用户的操作习惯、不同的机器环境、不同的电脑分辨率。

  4、对于前端的web类的系统:那么我们还要考虑浏览器兼容性。

  下面,给出我做过的一个功能点的case示例:

2015-10-08 11:12:03 liuxinyu599274 阅读数 6448
  • QuickTest Professional深入剖析--【下部】

    《QuickTest Professional》原书作者授课,书籍配套视频,QuickTest是测试领域的一门重要的专业技术课程,其属于测试领域中课程。课程讲授当前HP旗下主流自动化测试工具QuickTest Professional。

    20943 人正在学习 去看看 李晓鹏

  软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。在目前形式化方法和程序正确性证明技术还无望成为实用性方法的情况下,软件测试在将来相当一段时间内仍然是软件可靠性保证的有效方法。软件工程的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成软件开发项目。不足的测试势必使软件带着一些未揭露的隐藏错误投入运行,这将意味着更大的危险让用户承担。过度测试则会浪费许多宝贵的资源。到测试后期,即使找到了错误,然而付出了过高的代价。E.W.Dijkstra的一句名言说明了这一道理:“程序测试只能表明错误的存在,而不能表明错误不存在。”可见,测试是为了使软件中蕴涵的缺陷低于某一特定值,使产出、投入比达到最大。

  在软件业较发达的国家。软件测试不仅成为软件开发的一个有机组成部分,而且在软件开发的系统工程中占据着相当大的比重。以美国的软件开发和生产的平均资金投入为例,通常是:“需求分析”和“规划确定”各占百分之三,“设计”占百分之五,设计占百分之五,编程占百分之七,测试占百分之十五,投产和维护占百分之六七十。测试在。软件开发中的地位不言而喻。 软件测试工程师和软件卡发工程师就像两兄弟,缺一不可,国内开发工程师招聘还是比较容易的,但在做一些大型项目时需要大量软件测试人员,因为目前高校里没有专业的专业,只能招聘后在进行培训,这就大大增加了企业的成本,所以企业还是希望有一批专业培训的人员能直接上岗。 软件测试是一个系列过程活动,贯穿于软件项目的整个生命过程,很多软件项目的开发还停留在“作坊式”阶段,项目的成功往往靠个别程序员决定。 但随着市场对软件质量的的要求不断提高,软件测试将变得越来越重要,相应的软件测试工程师的地位和待遇将处于“双高”地位,而且做开发并不能做好测试,因为他们不懂得测试的理念而且不具备测试的经验。 目前国内软件测试人才缺口高达20万,已成为我国软件产业发展的瓶颈之一。“软件测试人才需求量的加大,是由于近年来我国软件行业的产业升级所决定的。

软件测试的重要性(待续……)

博文 来自: MosesAaron

软件测试的重要

阅读数 252

软件测试中心之重要性

博文 来自: ambrosio1986
没有更多推荐了,返回首页