博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件测试人员的进击
阅读量:6553 次
发布时间:2019-06-24

本文共 2748 字,大约阅读时间需要 9 分钟。

hot3.png

软件失败的术语:

        缺点、偏差、故障、失败、问题、矛盾、错误、特殊、事件、缺陷、异常。。。

首先要认识一个东西叫:产品说明书:

        满足下列五个规则之一,即可以称作,发生了一个软件缺陷:

                1、软件未实现产品说明书要求的功能

                2、软件出现了成品说明书指明不应该出现的错误

                3、软件实现了产品说明书中未提及到的功能

                4、软件为实现产品说明书虽未提及,但应该实现的目标

                5、软件难以理解,不易使用,运行缓慢,从测试人员的角度,最终用户会认为不好

为什么会出现软件缺陷:

            产品说明书成为造成软件缺陷的罪魁祸首,在许多情况下,说明书没有写,或者写的不够全面,经常更改,或者整个开发小组没有更好的沟通。第二缺陷,来源是设计,这是程序员规划软件的过程,产生缺陷的原因与产品说明书一样,随意、易变,沟通不足。

软件测试员究竟要做些什么?

            软件测试员的目标就是发现软件缺陷

            尽可能早的找出软件缺陷

软件测试人员应该具备的素质:

    1.他们喜欢拿到新的软件,安装到自己的机器上,观看结果

    2.善于发现问题的原因,喜欢解谜

    3.不会放过任何蛛丝马迹,出现一次的BUG,必然不会轻易放过,想尽一切可能的去发现它

    4.具有创造性,想出富有创意,甚至超常的手段来寻找缺陷

    5.判断准确,要确保看到的问题,是否真正的存在缺陷

    6.知道如何冷静的和程序员沟通,告诉他,你的程序有BUG

    7.善于说服,有一些问题,被认为不重要,不用修复,测试人员要说明为何必须修复,并推进缺陷的修复

 

 测试人员,也需要编写测试文档:

    1.测试计划      是否符合产品说明书和产品需求,制定计划

    2.测试用例       列举测试项目,描述验证软件的步骤

    3.缺陷报告       描述测试出的问题,并记录,

    4.测试工具和自动测试 

    5. 统计和总结    测试过程的汇总

 

软件开发的几种模式:

    1.大爆炸模式:

            大爆炸模式优点是简单,计划、进度安排和正规开发过程几乎没有,所有精力都花在开发软件和编写代码上,最终产生了优秀的产品软件,或者一堆废品。

        这种模式的测试 ,既容易,又困难,因为不可能回头修复已经打乱的事情,软件测试的工作其实就是报告发现的问题,让客户知道。

    2.边写边改模式:

            在大爆炸的模式上更进一步,至少考虑到了产品的需求,这种模式下通常是最初只有粗略的想法,接着进行一些简单的设计,然后开始编码,测试,觉得 可以了,然后发布产品。

    3.瀑布模式:

            采用这种模式的项目,从最初的构思到最终的产品要经过一系列步骤,每一个步骤结束,项目小组会组织审查,并决定是否进入下一步,没准备好,久停滞,直到准备好。

    4.螺旋模式:

            螺旋模式的总体思想是一开始不必详细定义所有细节,从小开始,定义重要功能,努力实现这些功能,接受客户反馈,然后进入下一阶段。重复上述过程,直到得到最终的产品。

    5.敏捷软件开发:

            敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

软件测试人员在项目组中不受欢迎:

            1.早点找出缺陷:产生更小的影响,会让人更容易接受

            2.控制情绪:找到严重缺陷,不要兴奋,兴冲冲的跑到程序员那里,告诉他存在大问题,他是会不高兴的。

             3.不要总是报告坏消息:经常找程序员聊聊天,不要总是报告坏消息,别人会对你唯恐避之不及。

 

软件测试的术语和定义:

        1.精确和准确:

                往靶盘上掷飞镖,掷到靶盘上交准确,掷到靶心叫精确。

        2.确认和验证:

                确认是保证软件符合产品说明书的过程。

                验证是保证软件满足客户要求的过程。

        3.质量和可靠性:

                质量包括:软件功能的多少,运行能力。可靠性包括:产品的可靠性,比如,多少用户,或者多长时间会崩溃等等。

        4.测试和质量保证:

                是对确认和验证的一个过程。

测试基础:

    1.黑盒测试和白盒测试:

            黑盒测试中,测试人员只需要知道软件需要做什么,无法看到是这么运行的,不知道软件如何运行,只知道结果。黑盒测试又被成为功能性测试或者行为测试,

            白盒测试:测试人员可以访问程序员的代码,通过检查代码来协助测试。

    2.静态测试和动态测试:

            静态测试是指测试不运行的部分(比如踢下车胎,看看车漆)。

            动态测试是指使用和运行软件(发动汽车,听听发动机的声音,上路行驶)

    3.静态黑盒测试:

        测试产品说明书,认真找出其中的缺陷。

数据测试:

    1.边界条件:软件是很极端的,即要么对,要么不对,对一定范围内的数据进行测试,往往是对的,但是在边界处,是最有可能出现错误的。

    2.测试边界:例如 第一个减一/最后一个加一、空了再减,满了再加等等      

    3.默认,空白,空值,零值和无

    4.非法、错误、不正确和垃圾数据(要求输入数字,则不能输入字母等)

    5.状态测试:一旦使用某一项,使软件改变了外观,菜单,或者某些操作,就是改变了该软件的状态。

    重复测试:

            指不断执行同样的操作,不停的启动关闭程序,要想找出一个软件的缺陷,重复操作是不可避免的。

    压迫测试:

            指软件在不够理想的状态下运行,内存小,磁盘空间少,CPU速度慢等,有点类似于边界条件测试。

    重负测试:

            与压迫测试相反,压迫测试是尽量限制软件,而重负测试是尽量提供条件任其发挥, 让软件尽可能的处理大的数据,最大限度发挥软件能力,让它不堪重负。

其他黑盒测试技术:

        1.像笨拙用户那样做

        2.在已经找到软件缺陷的地方在找找

        3.像黑客一样考虑问题

        4.凭借经验,直觉和预览

静态白盒测试:

        不执行软件的条件下有条理的审查软件设计,体系结构和代码,从而找出软件缺陷的过程,,有时称为结构化分析。另一个好处是可以为黑盒测试人员提供思路,他们可能不必了解代码的细节,通过审查评论,可以确定问题或者找出容易产生问题的范围。

通用代码审查清单:

        数据引用错误:引用未经正确声明和初始化的变量,常量,字符串等引起的缺陷。

        数据声明错误:不正确的声明或者使用变量和常量

        计算错误:数学问题,计算无法的到预期的结果

        比较错误:大于小于等于等,比较和判断错误很可能是由于边界条件的问题

        控制流程错误:编程语言中循环等未按照预期方式工作

        子程序参数错误:错误的来源是子程序不正确的传递数据

        输入输出错误:包括文件读取,接收键盘或者鼠标输入以及向屏幕输出信息等

    其他检查:

        软件是否使用了本语言之外的语言,是否可以移植到其他编译器和CPU,是否考虑了兼容性,编译程序是否产生警告或者提示的信息。

 

 

转载于:https://my.oschina.net/u/3659224/blog/1529876

你可能感兴趣的文章
我的博客园的CSS和html设置
查看>>
20145222《信息安全系统设计基础》第二周学习总结
查看>>
如何制作手绘地图?如何将图片图层精确地对准在地图上?
查看>>
C#winfrom中splitContainer的用法
查看>>
数据冗余度
查看>>
[Array] 561. Array Partition I
查看>>
2017最新xcode打包APP详细图文
查看>>
力扣算法题—050计算pow(x, n)
查看>>
背包问题 动态规划
查看>>
修改SQL-SERVER数据库表结构的SQL命令
查看>>
tableView 有点击效果 但是不让选中的方法
查看>>
onclick事件与onserverclick事件
查看>>
C#winform中DataGridView常用的属性
查看>>
iOS绘制线条的使用
查看>>
检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。...
查看>>
MPLAB X IDE 中文注释乱码问题解决.
查看>>
学习笔记——决策树
查看>>
关于HTML标签中的一些容易忘记常用样式属性
查看>>
spring session实现集群中session共享
查看>>
一些职场的忠告
查看>>