走进软件测试-测试理论知识汇总

缺陷的定义

1、软件未达到产品说明书的功能;

2、软件出现了产品说明书指明不会出现的错误;

3、软件功能超出产品说明书指明的范围;

4、软件未达到产品说明书未指出但应达到的目标;

5、软件测试人员认为难以理解、不易使用、运行速度缓慢、或用户认为不好;

缺陷的特征

1、看不到:软件的特殊性决定了缺陷不易看到;

2、看到抓不到:发现了缺陷,但不易找到问题发生的原因;

缺陷来源

1、产品规格说明书:说明书不够全面、经常变动,或开发小组沟通问题导致的理解不一致;

2、软件设计:无设计或设计不好,经常变动;

3、代码编写或其他问题,占缺陷的20%左右;

缺陷产生的原因

1、需求解释错误;

2、用户需求定义错误;

3、需求记录错误;

4、设计说明有误;

5、编码说明有误;

6、程序代码有误;

7、数据输入有误;

8、测试错误;

9、问题修改不正确;

10、不正确的结果由其他缺陷产生;

测试的定义

狭义:程序测试是为了发现错误而执行程序的过程;

广义:为了更早的发现问题,将测试延伸到需求评审、设计审查活动中,也就是将“软件质量保证”的部分活动归为测试活动。

软件测试的定义:软件测试是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早地发现在软件产品中所存在的各种问题——与用户需求、预先定义的不一致性。

软件测试的目的:证明程序中有故障存在,并尽最大可能尽早找出最多的错误。测试不是为了证明程序是正确的,而是应从软件包含有缺陷和故障这个假定去进行测试活动,并从中尽可能多的发现问题。实现这个目的关键是如何合理地设计测试用例,在设计测试用例的时候,要着重考虑那些易于发现程序错误的方法策略与具体数据。

原则:软件测试,从不同的角度出发会派生出两种不同的测试原则。

从用户的角度出发,就是希望通过软件测试能充分暴露软件中存在的问题和缺陷;

从开发者的角度出发,就是希望测试能表明软件产品不存在错误,已经正确地实现了用户的需求。

中国软件评测中心的测试原则,就是从用户和开发者的角度出发进行软件产品测试的。

为了达到上述的原则,需要注意以下几点:

1.应当把“尽早和不断地测试”作为开发者的座右铭。

2.设计测试用例时,应该考虑到合法的输入和不合法的输入,以及各种边界条件,特殊情况下要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。

3.一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。

4.对测试错误结果一定要有一个确认的过程。一般有A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析。

5.制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。

6.回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见。

7.妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。

测试在各个阶段的作用

项目规划阶段:负责从单元测试到系统测试的整个测试阶段的监控。

需求分析阶段:确定测试需求分析、系统测试计划的制定、评审后成为管理项目。

详细设计和概要设计阶段:确保集成测试计划和单元测试计划完成。

编码阶段:由开发人员进行自己负责部分的测试代码。在项目较大时,由专人进行编码阶段的测试任务。

测试阶段:依据测试代码进行测试,并提交相应的测试状态报告和测试结束报告。

缺陷发现的越早,则修复这个缺陷的代价就越小,在需求、设计、编码、测试、发布等不同的阶段,发现缺陷后修复的代价都会比在前一个阶段修复的代价提高10倍;

软件测试策略

软件测试策略就是测试将按照什么样的思路和方式进行。通常,软件测试要经过单元测试、集成测试、确认测试、系统测试和验收测试。

单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。

集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如数据穿过接口时可能丢失;一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。

确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。

软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。

验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。经验收后,将软件提交用户。

软件测试技术

按照软件测试用例的设计方法而论,软件测试可分为白盒测试法和黑盒测试法;

按照软件测试是否执行程序而论,软件测试又可以分为静态测试和动态测试;

按照软件设计方法是否采用面向对象设计技术而论,软件测试又可以分为传统测试方法和面向对象测试方法;

按照网络环境下C/S应用结构的特定环境而论,软件测试又有其相应的方法。这些都是软件测试具体的测试方法。

软件开发项目组成员

项目管理员:由他们全程负责整个软件开发项目,通常负责编写产品说明书、管理进度、进行重大决策。

设计师或系统工程师:他们的角色是担任软件小组的技术专家,需要具有丰富的经验,可以胜任设计整个系统构架或软件构思。

程序员:由他们负责设计、编写并修复软件中的缺陷。他们与项目管理员和设计师密切合作生产软件,然后与项目管理和测试员密切合作修复软件缺陷。

软件测试员:我们负责找出并报告软件产品的问题,与小组全部成员在开发过程中密切合作,进行测试并报告发现的问题。

技术作者、用户助手、用户培训专员、手册编写人员或者文案专员:由他们来负责编制

软件产品附带的文件和联机文档。

软件开发的基本过程可以分为需求分析、设计、编码、测试和维护阶段,即通常所说的“传统生命周期”,也就是“瀑布模型”。

需求分析: 根据客户的要求,清楚了解客户需求中的产品功能、特性、性能、界面和具体规格等,然后进行分析,确定软件产品所能达到的目标。

设计: 根据需求分析的结果,考虑如何在逻辑、程序上去实现所定义的产品功能、特性等,可以分为概要设计和详细设计,也可分为数据结构设计、软件体系结构设计、应用接口设计、模块设计、界面设计等。

编程:  将设计转换成计算机可读的形式。

测试: 对设计、编程进行验证和用户需求确认的过程

维护:维持软件运行,修改软件缺陷、增强已有功能、增加新功能、升级等。

小 

(1)对于软件缺陷的精确定义,通常有下列5条描述:

软件未达到产品说明书的功能

软件出现了产品说明书指明不会出现的错误

软件功能超出产品说明书指明范围

软件未达到产品说明书虽未指出但应达到的目标

软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好

(2)软件缺陷第一大原因就是软件产品规格说明书,第二大原因是软件设计,第三个原因才是编写代码和其它原因;前两个原因至少占了80%以上。

(3)软件测试的定义:软件测试是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早地发现在软件产品中所存在的各种问题——与用户需求、预先定义的不一致性。

(4)软件测试要经过单元测试、集成测试、确认测试、系统测试和验收测试。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容