查看完整版本: 软件测试基础知识——适合初学者

leilei1 2007-10-25 14:54

软件测试基础知识——适合初学者

软件测试基础知识

软件测试基本概念

1、软件=程序+文档,软件测试=程序测试+文档测试。

“程序”是指能够实现某种功能的指令的集合,“文档”是指软件在开发、使用和维护过程中产生的图文集合。;

2、软件的分类

按功能分:系统软件、应用软件

按技术架构分:单机版软件、C/S结构软件(C是指客户端, S指服务器端)、B/S结构软件(B是指浏览器)

按照用户划分:产品软件、项目软件

按开发规模划分:小型、中型、大型

3、BUG的定义:软件的BUG指的是软件中(包括程序和文档)不符合用户需求的问题。常见的软件BUG分三种类型:完全没有实现的功能;基本实现了用户需求的功能;实现了用户不需要的功能。

4、测试环境=软件+网络+硬件。搭建环境:真实、干净、无毒、独立

5、软件环境的分类:软件开发环境软件生产运行环境

6、测试用例:指在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和与其结果!测试用例=输入+输出+测试环境。测试用例有两个模板,word和excel,前者适合性能测试,后者适合功能测试。

 

软件测试分类

1、黑盒测试:指的是把被测的软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果

   白盒测试:指的是把盒子盖 打开,去研究里面的源代码和程序结构。

2、静态测试:是指不实际运行被测软件,而只是静态的检查程序代码、界面或文档中可能存在的错误的过程。

   动态测试:是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以我们判断一个测试属于动态测试还是静态测试,唯一的标准就是看是否运行程序。

   注:同一个测试,既有可能属于黑盒测试,也有可能属于动态测试;既有可能属于静态测试,也有可能属于白盒测试。他们之间也有可能交叉。

3、单元测试:编译运行程序——静态测试——动态测试

   集成测试:是单元测试的下一个阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部分。

   系统测试:指的是将整个软件系统看作1个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。

   验收测试:指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序.

           验收测试又分为α测试和β测试,其实α测试指的是由用户、测试人员、开发人员等共同参与的内部测试,而β测试指的是内侧后的公测,即完全交给最终用户测试。

4、功能测试:是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。功能测试又可以细分为很多种:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。

   性能测试:软件的性能包括很多方面,主要有时间性能和空间性能两种。时间性能:主要指软件的一个具体事务的响应时间。空间性能:主要指软件运行时所消耗的系统资源。

            软件性能测试分为一般性能测试、稳定性测试、负载测试和压力测试。一般性能测试指的是让被测系统在正常的软硬件环境下运行,不向其十佳任何压力的性能测试。稳定性测试,也叫可靠性测试,是指连续运行内测系统,检查系统运行时的稳定程度。我们通常用MTBF(错误发生的平均时间间隔)来衡量系统的稳定性,越大稳定性越强。负载测试是性能测试的一种,通常是指让被测系统在其能忍受的眼里的极限范围之内连续运行,来测试系统的稳定性。压力测试是性能测试的一种,通常是指连续不断地给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。

            假设一个人很轻松的就能背一袋米,背两袋米很吃力,最多就能背三袋米,那么:

            一般性能测试:我就让他背一袋米

            稳定性测试:我让他背一袋米,但是让他去操场上跑圈,看多久累倒。

            负载测试:我让他背两袋米去操场上跑圈,看多久累倒。

            压力测试:我让他背两袋米,三袋米,四袋米......发现他最多就能背三袋米。

5、回归测试:是指对软件的新的版本测试时,重复执行上一个版本测试时的用例

   冒烟测试:是指在对一个新版本进行西戎大规模的测试之前,先验证一下软件的基本功能是否可以实现,是否具备可测性

   随机测试:是指测试中所有的输入数据都是都是随机生成的,其目的是模拟用户的真是操作,并发现一些边缘的错误。

6、关系

测试工程师

1、测试工程应该具备的基本职业素质:三心二意一能力。三心:细心、耐心、信心。二意:服务意识、团队意识。一能力:沟通能力。

2、如何成为一名优秀的测试工程师:内功(基础知识:计算机硬件、网络、操作系统、数据库等)、测试技术(黑盒测试中等价类、边界值、因果图等,白盒测试中的语句覆盖、分支覆盖、路径覆盖等)

   1)、不断学习充电

   2)、阅读原版书籍

   3)、阅读缺陷管理系统中的缺陷报告

   4)、阅读高手写的测试用例

   5)、学习产品相关的业务知识

3、SQA——软件质量保障,CMM是SQA用来监督项目的一个标准质量模型,SQA按照CMM上面各种规则来检验各种各样的项目。CMM——能力成熟度模型

4、软件测试的原则:

   1)、Zero bug——指的是软件没有任何bug,没有bug是不可能的,我们只能想方设法把软件的bug数控制在可以忍受的范围之内。Good enough——指的是只要软件达到一定的质量要求,就可以停止测试了。

   2)、不要试图穷举测试

   3)、开发人员不能既是运动员又是裁判员

   4)、软件测试要尽早执行

   5)、软件测试应该追溯需求

   6)、缺陷的二八定理——缺陷的集群现象或是虫子窝现象

   7)、缺陷具有免疫性

黑盒测试技术

等价类技术、边界值技术、因果图法、流程图法

缺陷管理

1、BUG的分类

Bug严重级别(Severity,Bug级别):是指因缺陷引起的故障对软件产品的影响程度。由测试人员指定。A
错误导致了死机、产品失败(“崩溃”)、系统悬挂无法操作;

B
功能未实现或导致一个特性不能运行并且不可能有替代方案(包括计算错误);

C
错误导致了一个特性不能运行但可有一个替代方案;

D
错误是表面化或微小的(提示信息不太准确友好、错别字、UI布局或罕见故障等),对功能几乎没有影响,产品及属性仍可使用;

E
建设性的意见或建议。


Bug优先级(Priority):指缺陷必须被修复的紧急程度。由Bug分配者(开发组长/经理)指定。5
阻止相关开发人员的进一步开发活动,立即进行修复工作;阻止与此密切相关功能的进一步测试

4
必须修改,发版前必须修正

3
必须修改,不一定马上修改,但需确定在某个特定里程碑结束前须修正

2
如果时间允许应该修改

1
允许不修改


缺陷类型(Type):是根据缺陷的自然属性划分的缺陷种类。Build
由于配置库、变更管理或版本控制引起的错误。

Data
数据、数据库、计算错误等。

Function
影响了重要的特性、产品接口、硬件结构接口和全局数据结构。如逻辑,指针,循环,递归,功能等缺陷。

Interface
与其他组件、模块或设备驱动程序、调用参数、控制块或参数列表相互影响的接口缺陷。

Performance
不满足系统可测量的属性值,如:执行时间,事务处理速率等。

Requirement
需求方面缺陷如(不明确、错误、考虑不全面等等)。

User Interface(简写UI)
人机交互特性:屏幕格式,页面排版、控件位置等方面的缺陷。

其它
未知错误


Bug状态(Status):指缺陷通过一个跟踪修复过程的进展情况。包括Open、Fixed、Closed及Postponed等Open
为测试人员新问题提交所标志的状态。为任务分配人(开发组长/经理)对该问题准备进行修改并对该问题分配修改人员所标志的状态。Bug解决中的状态,由任务分配人改变。对没有进入此状态的Bug,程序员不用管。

Fixed
为开发人员修改问题后所标志的状态,修改后还未测试。

Closed
为测试人员对修改问题进行验证后通过所标志的状态。由测试人员改变。

Postponed
1、由于开发时间、进度、重要程度或者技术/设计/需求等方面的原因,认为不能解决、须延期解决、或者本版不做留待到后续版本解决的Bug;

2、因设计结构问题无法修改。测试人员认为是Bug,不符合逻辑,也不符合用户的要求,但开发人员则认为是按照设计做的、只能如此处理,否则修改代价太大 ,这种问题可以拖后处理

duplicated
bug重复提交

Not error
测试员理解错,不是bug,测试员提错了


2、提交BUG注意事项:确保重现、要用最少且必要的步骤描述BUG、简洁准确完整、一个BUG一个报告

3、常见的BUG管理工具:TD、Track Record、Clearquest、Bugzilla、Mantis、JIRA

测试管理

测试周期:计划——测试设计——测试执行——测试评估

软件测试工具简介

1、一般软件测试工具分为黑盒测试工具、白盒测试工具、测试管理工具

2、MI loadrunner——性能测试,MI winrunner——功能测试,MI testdirector——测试管理工具,MI QTP——功能测试工具......

 

 

ycxlove11 2007-10-25 16:03

都是些基础知识,很适合新手的,呵呵!

edisonlee 2007-10-25 16:03

写的好多啊,学习中!

zhang88614 2007-10-25 19:00

回复 1# 的帖子

写的挺好的,载下来慢慢消化

red-hat 2007-10-26 11:59

建议发到"新手上路"专区

leilei1 2007-11-6 09:48

笔记

:) 很高兴大家都很喜欢~这个是我看书时的笔记~希望可以帮到你们~
大家在学习的时候都记笔记,以后看的时候就会简练很多!也可以帮助到他人

yuxuan555269 2007-11-27 15:14

是不是做成文档我们这些新手就更方便学习呢,哈哈..

z312416795 2007-12-4 07:47

都是老师上课讲的...就算温故而知新了````哈哈

xueyun 2007-12-12 13:45

非常好,真正实键的时候觉得这些基础还是有用的。

pycctv 2007-12-21 11:02

看了 很不错 测试初学者 学习中

j2eesun 2008-1-4 14:54

看完了,很好的学习资料。谢谢

tctwg 2008-1-16 16:25

适合我学习

楼主辛苦啦

谢谢

lianger 2008-1-17 14:29

前来 学习

谢谢LZ

软件测试论坛 2008-1-17 14:36

不错,学习中... ...

CCTV果冻爽 2008-1-18 17:59

thank you

HGA 2008-1-21 18:36

回复 1# 的帖子

深受教育!:victory:

笨蛋 2008-1-23 16:39

回复 1# 的帖子

真的很不错哈~~
很适合我们这些刚加入测试的~~
学习中~~~
、~~~

yljia 2008-2-15 15:42

假设一个人很轻松的就能背一袋米,背两袋米很吃力,最多就能背三袋米,那么:

            一般性能测试:我就让他背一袋米

            稳定性测试:我让他背一袋米,但是让他去操场上跑圈,看多久累倒。

            负载测试:我让他背两袋米去操场上跑圈,看多久累倒。

            压力测试:我让他背两袋米,三袋米,四袋米......发现他最多就能背三袋米。
================================================================================

         这个例子举的真好,通俗易懂。;P

joyce0219test 2008-2-19 18:32

总结的很好,看来我也要养成记笔记的习惯

acidapple 2008-2-21 15:44

新手,学习了,不错!:victory:

yongshenggu 2008-2-23 20:07

都是老师上课讲的...就算温故而知新了````哈哈

binning_001 2008-2-26 22:22

谢谢啦

51testinggg 2008-3-4 19:25

测试 .....不再想念...

wasong 2008-3-17 15:55

学习中...

dujun 2008-3-18 11:21

基础最重要

肚子 2008-3-18 11:40

[quote]原帖由 [i]leilei1[/i] 于 2007-10-25 14:54 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=766553&ptid=94637][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
软件测试基础知识

软件测试基本概念

1、软件=程序+文档,软件测试=程序测试+文档测试。

“程序”是指能够实现某种功能的指令的集合,“文档”是指软件在开发、使用和维护过程中产生的图文集合。;

2、软 ... [/quote]

自动化测试工具,MI,还是要写全称比较好。
包括在写简历的时候也是,不要写简称,写全称比较好。
MI---》Mercury

另外,测试工具其实有不少,并不是所有公司都用Mercury的工具的。

hxc21st 2008-3-18 14:21

你上的什么课?
[quote]原帖由 [i]z312416795[/i] 于 2007-12-4 07:47 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=806737&ptid=94637][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
都是老师上课讲的...就算温故而知新了````哈哈 [/quote]

kenny1898 2008-3-26 16:04

不错,好好学习... ...

weilili19820403 2008-3-26 17:48

thank you !

sunnyheng 2008-3-27 10:48

非常不错!

nickxmn 2008-3-29 22:40

谢谢LZ分享!

shuo1shuo 2008-4-8 10:26

我得好好学习一下 我是个小菜鸟

xiananni 2008-4-8 12:33

好东东
支持下的要~~~

无痕 2008-5-6 21:26

谢谢。。不错

cmmi_lqh 2008-5-12 10:56

CMMI培训

具体CMMI培训情况请点击[url]http://cims.diamt.net.cn/cmmi-new.doc[/url]查看,联系QQ:20223716(注明CMMI)

jiafa 2008-5-30 17:43

希望多贴一些出来,很精辟啊

acidapple 2008-6-5 20:40

挺不错的,支持一下!

mrxuan 2008-6-10 12:00

[quote]原帖由 [i]肚子[/i] 于 2008-3-18 11:40 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=913378&ptid=94637][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]


自动化测试工具,MI,还是要写全称比较好。
包括在写简历的时候也是,不要写简称,写全称比较好。
MI---》Mercury

另外,测试工具其实有不少,并不是所有公司都用Mercury的工具的。 [/quote]

我也刚注意到,只列了Mercury的测试工具(我正在用的Quality Center没有列出)。不过好像大多数公司也只用Mercury的测试工具吧。

kai25xin 2008-7-16 17:26

真好!学习!:loveliness:
页: [1]
查看完整版本: 软件测试基础知识——适合初学者