51Testing软件测试论坛

标题: 《软件测试中手为新人答疑》 [打印本页]

作者: yuetiantian    时间: 2009-7-21 10:55
标题: 《软件测试中手为新人答疑》
在这个论坛也混了一段时间了,发现很多筒子对于新人问题的回答似是而非,甚至漏洞百出,一些基本的概念都是错的,严重误导了新人对软件测试的理解。作为一个软件测试中手,我愿意尽力回答新人的一些问题,并且分享自己对软件测试工作的一些理解。先申明啊,软件测试博大精深,涉及到的技术和工具那也是相当相当的广泛,很多方面我都没有接触过,所以对于那些我不了解的方面回答不了也请大家见谅。另外欢迎其他筒子参与讨论和回答,大家互相学习共同进步。

请点击页面上的“只看作者”查看回帖内容。

[ 本帖最后由 yuetiantian 于 2009-7-30 20:46 编辑 ]
作者: jrgglolicon    时间: 2009-7-21 15:15
想先请问前辈 软件测试的文档分类有哪些  诸如测试用例和测试计划的概念
作者: yuetiantian    时间: 2009-7-21 15:44
原帖由 jrgglolicon 于 2009-7-21 15:15 发表
想先请问前辈 软件测试的文档分类有哪些  诸如测试用例和测试计划的概念


测试计划(test plan)是软件测试过程中最重要的文档,可以说测试计划的质量直接决定了软件测试的质量。一般来说测试计划来源于项目的设计文档,也就是说测试计划和设计文档是互相呼应的,测试计划就是为了确保和证明软件实现了设计目标。当然,测试计划只是一个总称,对于不同的测试类型,不同的测试阶段,你会编写相应的测试计划。例如,针对smoke test,你应该有smoke test plan, 针对regression test, 你应该有相应的regression test plan。在测试计划中主要描述了测试的目标,测试进度的安排,测试资源的使用,测试环境,测试中人员的职责,测试结束的标准以及软件发布的策略等等,根据测试类型和阶段的不同而有所侧重。一般来说,测试计划中不会有详细的测试用例设计,因为毕竟测试用例可能会很多。

测试用例(test case)设计文档,用来描述测试过程是如何具体执行的。其主要有如下几部分组成:1,测试用例名。2,测试目的。3,测试步骤。4,期望得到的结果。5,测试结果(成功还是失败)。6,备注。设计好的测试用例不是一件容易的事情,首先要对待测系统相当熟悉,用应该少的测试用例覆盖尽可能多的测试点和容易产生错误的测试点。至于测试用例是应该描述的详细还是简洁,一直都有争论。详细的测试用例可以指导对于系统不太熟悉的测试员进行有效的测试,但是过于死板的步骤不易发现未能覆盖的其他问题。简洁的测试用例适合非常有经验的测试人员使用,他们每次都可能使用不同的方法或者角度来执行同一个用例,这样大大增加了发现错误的几率。所以,到底如何编写测试用例要根据实际情况进行权衡。
作者: superman139    时间: 2009-7-21 15:45
::zhuhe::: 期待中...
作者: jrgglolicon    时间: 2009-7-21 16:22
哦~~~感谢前辈啊!
作者: jrgglolicon    时间: 2009-7-21 16:31
请问BUG 的生命周期 是不是有个详尽的列表之类的啊
作者: superman139    时间: 2009-7-21 16:38
是有的,这个我看到过的.
------------------------------------------------------------------------------------------------------------------
新建的Bug处于Active状态,可以通过编辑指派给合适的解决者。解决Bug之后,Bug状态变为Resolved,并自动指派给创建者。创建者验证Bug。如果未修复,再重新激活,Bug状态重新变为Active;如果已经修复则可以关闭,Bug状态变为Closed,Bug生命周期结束。已经Closed的Bug如果重新复现,也可以直接激活。具体流程如下图所示。

[attach]54192[/attach]
作者: yuetiantian    时间: 2009-7-21 16:53
原帖由 jrgglolicon 于 2009-7-21 16:31 发表
请问BUG 的生命周期 是不是有个详尽的列表之类的啊


ls的图不错。

为了简化流程,假设整个bug生命期只有两个角色参加,分别是tester和developer,其实实际的项目会有更多的人参与。并且假设bug是tester发现的。
一般来说,bug的生命周期是这样的:
1.tester发现bug,提交给相应的developer,developer有两种看法:
1.1 是一个bug,进行修复
1.2 觉得不是一个bug,拒绝此bug,并且将其返回给tester。tester同意关闭,则关闭。不同意,tester再次提交给developer并说明理由。

2.如果真是一个bug,有两种可能:
2.1.软件不正确,不符合设计文档,那要修改软件。
2.2 软件正确,设计文档有误,那要修改文档。

3.developer在软件或者文档修改完毕后,将修改后的文档和软件交付tester验证
3.1 tester验证成功,关闭bug
3.2 tester验证失败,再次将bug提给developer,循环上述过程。
作者: superman139    时间: 2009-7-21 16:59
lz
bugfreehelper有支持bugfree2.03版本的吗?我只能找到支持bugfree2.0版本的.想试着装一下,但不能用.
作者: jrgglolicon    时间: 2009-7-21 17:07
谢谢啊~~~~我看看
作者: yuetiantian    时间: 2009-7-21 17:08
原帖由 superman139 于 2009-7-21 16:59 发表
lz
bugfreehelper有支持bugfree2.03版本的吗?我只能找到支持bugfree2.0版本的.想试着装一下,但不能用.


不好意思啊,我没有用过这个软件
作者: superman139    时间: 2009-7-21 17:13
是一款bug跟踪,管理软件,是开源的.
作者: 佐伊    时间: 2009-7-21 17:20
楼上的头像
作者: superman139    时间: 2009-7-21 17:21
::yxiao::: ::yxiao::: ::yxiao:::
作者: yuetiantian    时间: 2009-7-21 20:28
软件测试新人应该先学什么?
经常在这个坛子里面看到新人问:“我是新人,想学习软件测试,应该从什么地方开始学?应该看什么书?应该怎么起步?”
有的时候真的很想帮新人解答各种问题,但是却不知如何下手。因为新人们问的问题经常很不清楚,不是草草两句结束,就是不具体,要不然就是想要别人一下子告诉他所有关于测试的概念或是整个过程。你想想,你问问题都不认真,别人能给你认真回答么?你问个问题都问不清楚,让别人不知所云,别人就算想帮你也帮不了啊。还有那些想一口吃成胖子的同志,雄心壮志是好的,但是别人也没办法一下子告诉你所有的事情啊,难道你在问问题之前就不能先搜一下网络么?如果网上真的搜不到你想了解的东西,只要你能够分享你的想法,那么我想大家肯定很愿意和你一起讨论的。
所以我觉得新人首先需要学习的不是什么测试的基本概念,也不是多看两本理论书籍,而是要先学会如何寻求帮助,学会自己寻找答案,说白了就是要学会学习。
作者: jrgglolicon    时间: 2009-7-23 09:54
请前辈给我一个简明些的 BUG生命示意图  本来在你帖子内的那张图由于是全英文的 我看着 理解不透彻 很吃力  麻烦前辈了
作者: superman139    时间: 2009-7-23 10:18
这些英语单词- -||.查字典丫,乖
作者: jrgglolicon    时间: 2009-7-23 10:23
我总感觉在词典上找到的不是最贴切的解释  很纳闷
作者: superman139    时间: 2009-7-23 10:37
你哪个词拿捏不准啊?我帮你看看
作者: jrgglolicon    时间: 2009-7-23 10:48
就是你给出的图  几乎我理解不到完完全全确切的意思 只是会意一点  因为下面的前辈是用他自己的解释了下的  我也只是理解了一些而已
作者: jrgglolicon    时间: 2009-7-23 10:50
另外诸如测试用例和测试计划这样的文档  除去这2个都还有那些总要的文档需要掌握的
作者: jrgglolicon    时间: 2009-7-23 10:54
似乎是软件测试也有生命周期的啊
作者: jrgglolicon    时间: 2009-7-23 11:10
请解释下 resolved  active  closed  3个词在测试中的详尽意思
作者: yuetiantian    时间: 2009-7-23 11:16
原帖由 jrgglolicon 于 2009-7-23 10:50 发表
另外诸如测试用例和测试计划这样的文档  除去这2个都还有那些总要的文档需要掌握的


除了这两个文档以外,我只接触过测试报告,里面主要的内容如下:
1.什么时候,谁执行了哪些test case,花了多长时间
2.自动还是手动执行
3.执行结果,成功还是失败,如果发现了bug,标明bug id,以及在什么地方可以查到
4.执行人和管理人员确认签名

该文档主要用于归档和复查追踪,各个公司要求的格式和内容可能不同。
作者: yuetiantian    时间: 2009-7-23 11:19
原帖由 jrgglolicon 于 2009-7-23 10:54 发表
似乎是软件测试也有生命周期的啊

应该不叫生命周期,确切点的教法应该是process,也就是过程/流程,它由一组软件测试相关的决策和行为组成。其实软件测试和软件开发紧密相关,你不能将二者割裂看待。
作者: jrgglolicon    时间: 2009-7-23 11:24
谢谢 前辈 、、、、、
作者: superman139    时间: 2009-7-23 11:29
这么看试试,这是我的理解:
1 新建bug(bug状态:活动-active)
2 编辑bug(Edit)
3 指派(Assigned)给解决者
4 解决bug(指解决者认为已解决bug)
4.1 bug状态:已解决-resolve
4.2 创建者进行验证(Verify)(验证bug是否被修复)
4.2.1 bug修复
4.2.1.1 关闭bug(bug状态:关闭-close)
4.2.2 bug未修复
4.2.2.1 激活(reactivate)bug(bug状态:活动-active)
4.2.2.2 回到步骤2

最后,注意箭头颜色,编辑bug状态的对象是哪种角色的.分开发和测试两种.
作者: jrgglolicon    时间: 2009-7-23 11:34
原帖由 superman139 于 2009-7-23 11:29 发表
这么看试试,这是我的理解:
1 新建bug(bug状态:活动-active)
2 编辑bug(Edit)
3 指派(Assigned)给解决者
4 解决bug(指解决者认为已解决bug)
4.1 bug状态:已解决-resolve
4.2 创建者进行验证(Verify)(验证bug是否 ...




其实关键是我明天要做学习报告 、、、、、很多不理解透彻的词语会带来很多不便啊
作者: superman139    时间: 2009-7-23 11:36

作者: yuetiantian    时间: 2009-7-23 11:43
原帖由 jrgglolicon 于 2009-7-23 11:10 发表
请解释下 resolved  active  closed  3个词在测试中的详尽意思

resolved  :表明开发人员认为该bug已经被休正了,但是实际上是否可以接受还需要测试人员验证和确定。
active: 也就是指bug现在还没在解决中。
closed: bug被关闭。有可能这不是一个bug,或者bug被修正,或着是一个bug但不值得花力气去修正。
作者: jrgglolicon    时间: 2009-7-23 11:48
原帖由 yuetiantian 于 2009-7-23 11:43 发表

resolved  :表明开发人员认为该bug已经被休正了,但是实际上是否可以接受还需要测试人员验证和确定。
active: 也就是指bug现在还没在解决中。
closed: bug被关闭。有可能这不是一个bug,或者bug被修正,或着是 ...



此外图表中的EDIT是什么意思啊 我查找词典的话 意义都不是最符合的
作者: jrgglolicon    时间: 2009-7-23 11:50
另外前辈之前说的

2.如果真是一个bug,有两种可能:
2.1.软件不正确,不符合设计文档,那要修改软件。
2.2 软件正确,设计文档有误,那要修改文档。


中的设计文档是什么意思
作者: superman139    时间: 2009-7-23 11:59
标题: 回复 31# 的帖子
edit是编辑的意思.在这里是对一个发现的bug进行编辑,其编辑的内容有:bug的标题啊,版本号啊,严重程度啊,bug的状态以及是否解决等等,你用一个bug管理软件进行对bug的管理和追踪之后会有更深的印象
作者: jrgglolicon    时间: 2009-7-23 12:02
原帖由 superman139 于 2009-7-23 11:59 发表
edit是编辑的意思.在这里是对一个发现的bug进行编辑,其编辑的内容有:bug的标题啊,版本号啊,严重程度啊,bug的状态以及是否解决等等,你用一个bug管理软件进行对bug的管理和追踪之后会有更深的印象



我并未着手做一些相关的工作 只是在公司里不断的看资料然后做一个总结性的学习报告出来
作者: jrgglolicon    时间: 2009-7-23 12:11
当一个BUG被确认后 得出的处理结果又分为那些
作者: yuetiantian    时间: 2009-7-23 12:55
原帖由 jrgglolicon 于 2009-7-23 12:11 发表
当一个BUG被确认后 得出的处理结果又分为那些

被确认是个bug,那就需要修正。
被确认已经修正了,那就可以关闭了。
作者: jrgglolicon    时间: 2009-7-23 13:26
原帖由 yuetiantian 于 2009-7-23 12:55 发表

被确认是个bug,那就需要修正。
被确认已经修正了,那就可以关闭了。



     前辈帮我看看  我所知道的似乎有5种处理结果 1这不是一个BUG 2 BUG已经被修复 3 超出工作范围不做修复 4 BUG重复  5我就忘记了   =  =
作者: superman139    时间: 2009-7-23 13:40
三种无效的Bug
By Design
设计需求就是这么设计的
Duplicate
这个问题别人已经发现
Not Repro
无法复现的问题

四种有效的Bug
Fixed
问题被修复
External
外部原因(比如浏览器、操作系统、其他第三方软件)造成的问题
Postponed
发现的太晚了,下一个版本讨论是否解决
Won’t Fix
是个问题,但是不值得修复
作者: yuetiantian    时间: 2009-7-23 13:41
原帖由 jrgglolicon 于 2009-7-23 13:26 发表



     前辈帮我看看  我所知道的似乎有5种处理结果 1这不是一个BUG 2 BUG已经被修复 3 超出工作范围不做修复 4 BUG重复  5我就忘记了   =  =

哎,软件测试无定式啊,每个公司的process都不一样。你想问的是一个bug被提交后的决策么?如果是,一般有下面几种:
1.不是软件的bug,是文档的,需要改正文档。
2.不是bug
3.是bug,但是现在无法解决,延后处理或者直接关闭
4.是bug,但问题不大,不值得解决,直接关闭
5.是bug和已知的bug重复,关闭
6.是bug,但是需要不止一个人来解决,将其拆分为多个部分,提交给相对应的负责人。本bug保留到拆分出来的所有的bug都被解决了后再进行验证。
7.如ls所说,无法复现的,可以酌情关闭或继续保留。
作者: jrgglolicon    时间: 2009-7-23 13:41
原帖由 superman139 于 2009-7-23 13:40 发表
三种无效的Bug
By Design
设计需求就是这么设计的
Duplicate
这个问题别人已经发现
Not Repro
无法复现的问题

四种有效的Bug
Fixed
问题被修复
External
外部原因(比如浏览器、操作系统、其他 ...
非常感谢
作者: jrgglolicon    时间: 2009-7-23 13:42
原帖由 yuetiantian 于 2009-7-23 13:41 发表

哎,软件测试无定式啊,每个公司的process都不一样。你想问的是一个bug被提交后的决策么?如果是,一般有下面几种:
1.不是软件的bug,是文档的,需要改正文档。
2.不是bug
3.是bug,但是现在无法解决,延后处理 ...



哦 我懂了
作者: superman139    时间: 2009-7-23 13:44
能对你有帮助就可以了,互相学习
作者: jrgglolicon    时间: 2009-7-23 13:47
那即是说 因为公司的不同 面对项目的差别 所以BUG在提交后的解决方案都会不一样吧
作者: yuetiantian    时间: 2009-7-23 13:57
原帖由 jrgglolicon 于 2009-7-23 13:47 发表
那即是说 因为公司的不同 面对项目的差别 所以BUG在提交后的解决方案都会不一样吧

不是解决方案,而是对于bug的处理流程不同。
作者: superman139    时间: 2009-7-23 14:00
其实也要看公司头头对bug的重视程度.如果不够重视,认为测试无关轻重,那有的时候提交的轻量级的bug就会被忽略.比如易用性测试.......
作者: superman139    时间: 2009-7-23 14:01
楼主啊,%22%2翻译过来是什么东西啊?是  <  的意思吗? 还是 <'  的意思?
作者: llx02    时间: 2009-7-23 14:23
标题: grinderAnalyzer
请问LZ可对grinderAnalyzer这个工具熟悉?我在使用过程中出现几个问题,一直与不能生成测试数据图表。
作者: jrgglolicon    时间: 2009-7-23 14:23
请问LZ 黑盒测试又有哪些分类没有?
作者: superman139    时间: 2009-7-23 14:34
楼主要忙死了
作者: yuetiantian    时间: 2009-7-23 14:34
原帖由 superman139 于 2009-7-23 14:01 发表
楼主啊,%22%2翻译过来是什么东西啊?是  <  的意思吗? 还是  


%22%2是什么啊,没见过。。。
作者: yuetiantian    时间: 2009-7-23 14:35
原帖由 llx02 于 2009-7-23 14:23 发表
请问LZ可对grinderAnalyzer这个工具熟悉?我在使用过程中出现几个问题,一直与不能生成测试数据图表。


不好意思啊,没有用过。
作者: 千里    时间: 2009-7-23 14:35
回答了问题,满意了请送花给帮助你的人。
作者: yuetiantian    时间: 2009-7-23 14:36
原帖由 jrgglolicon 于 2009-7-23 14:23 发表
请问LZ 黑盒测试又有哪些分类没有?


不知道你想问的是哪方面的分类?
作者: jrgglolicon    时间: 2009-7-23 14:37
我的意思是 黑盒测试中还有没有更加细致的分类
作者: yuetiantian    时间: 2009-7-23 14:54
原帖由 jrgglolicon 于 2009-7-23 14:37 发表
我的意思是 黑盒测试中还有没有更加细致的分类

有下面一些常见测试策略的分类:
Equivalence Class Partitioning 等价划分
Boundary Value Analysis边界值分析
Decision Table 决策表
State-Transition Diagrams 状态图
Orthogonal Arrays 正交数组

[ 本帖最后由 yuetiantian 于 2009-7-23 15:07 编辑 ]
作者: jrgglolicon    时间: 2009-7-23 15:03
谢谢LZ
作者: yuetiantian    时间: 2009-7-23 16:26
原帖由 jrgglolicon 于 2009-7-23 15:03 发表
谢谢LZ

有能力可以看看国外原版的测试理论书籍或者文章
也可以看看国人翻译的国外的测试书籍
尽量少看国人写的测试方面的书籍
作者: jrgglolicon    时间: 2009-7-23 16:48
这里有一本  就叫 软件测试的书 很老的了  看了一些里面前面的内容和网上查到的资料没什么差别   只是后面的知识完全看不懂了
作者: yuetiantian    时间: 2009-7-23 16:54
原帖由 jrgglolicon 于 2009-7-23 16:48 发表
这里有一本  就叫 软件测试的书 很老的了  看了一些里面前面的内容和网上查到的资料没什么差别   只是后面的知识完全看不懂了


能吸取到对你有用的成分就好。
很多书,一开始的时候肯定有不明白的,过段时间再来翻翻,又会有所收获,因为你的理解力会随着时间的推移而不断提高。
作者: superman139    时间: 2009-7-23 17:14
以前看c#的书也是这样的,现在在看看,又能理解很多东西
作者: yuetiantian    时间: 2009-7-23 17:49
另外,我觉得新人在教程的选择上不能贪多,不要看到网上有个啥资料就去下载,就去看,不仅花精力而且可能得不偿失。把一些经典的书籍吃吃透,就足够你受用的了。
看书不要泛泛而看,看的时候要思考,不明白的可以在网上请教别人。关于软件测试的理论可以先看这两本书,它们都很经典,代表软件测试的两种不同理念:
《软件测试 第二版》
作  者: (美)佩腾(Patton,R.) 著,张小松 等译
出 版 社: 机械工业出版社

《软件测试的艺术 第二版》
作者: (美)梅尔斯
译者: 陈杰 / 王峰
ISBN: 9787111173199
出版社: 机械工业出版社

千万不要买什么《xxx速成》,《xx天学会xxx》,这种名字的书是好书的可能性很低。关于速成的书,我只知道一本,就是九阴真经速成,那也是有一定基础的人修炼的,初学者谨防走火入门。如果你觉得直接看高阶的书籍有困难,也可以先选择《xxx入门》或者《xxx指南》来了解个大概,然后再慢慢深入。
作者: superman139    时间: 2009-7-23 17:54
九阴真经......
作者: e7luwei    时间: 2009-7-24 00:52
楼主好人啊,本人是菜鸟中的菜菜鸟,软件工程大3的学生,准备大4,学校安排去北京实习,本人一直想从事测试方向,去北京之前想先热热身,但是不知从什么方面入手。比如,如果看了好多测试方面的书籍和资料,有了一定的理论基础,想自己动手实践一下,但是不知道用什么工具测试,测试什么,该怎么测试。毕竟,动手实践才会发现问题,发现问题解决了才能够有所提高,不断充实自己,但是,现在问题貌似很严重,连怎么入手都不懂,有点急躁了,希望楼主给些建议,感谢万分
还有好多问题呢
1,软件测试需要知识面很广,编程语言,数据结构,操作系统,计算机网络,数据库知识等等,这些知识如果要入门软件测试的话,掌握的程度是怎么样的呢?当然,能入门之后肯定会不断的完善的。本人不才,这些知识在大学都学过,但是没有引起足够的重视,混个及格的分数就得,现在,真正想在测试方面发展了,回头看似乎什么东西都没学到,真的好悲哀,但是又很想学好,心理矛盾啊~
2,关于测试方面,要达到什么样的程度才能达到企业的基本要求呢?这点也很迷惑,如果有了个标准,就会不断的向那标准靠拢,在实习和就业方面才会少碰壁,不知道楼主能不能提供个标准来参考参考,感激不尽~
暂时这些了,其实还有好多疑问,不过怕楼主嫌麻烦不敢多发了~
作者: jrgglolicon    时间: 2009-7-24 09:32
原帖由 yuetiantian 于 2009-7-23 16:54 发表


能吸取到对你有用的成分就好。
很多书,一开始的时候肯定有不明白的,过段时间再来翻翻,又会有所收获,因为你的理解力会随着时间的推移而不断提高。



感觉上似乎自己欠缺多了太多了
作者: jrgglolicon    时间: 2009-7-24 11:50
请问LZ  动态测试是否即为黑盒测试  或者说2者的意义相近
作者: fish55    时间: 2009-7-24 12:35
标题: 两个问题请教尊敬的楼主!
A)我正在学QA,有人说要学sql query,在网上找了一下,好象是查表里的内容,语句我也明白,可是非常的不明白下面几个问题:

1.这查询是干什么用的?与测试有什么关系?听说和backend testing 有点关系,不是太懂,能解惑吗?
2.什么时候用?
3.为什么不能直接访问数据库,读取数据呢?而要用这个sql query呢? 那oracle怎么办?
4.查询之前,一定要知道表的名字吗?如何能知道?
5.环境在那里呢? 从哪里运行阿?

B)又一问题请教:我们都知道QTP,WINRUNNER是做regression用的,
1.可是怎样决定哪些test case是自动的, 哪些是手动的?
2.谁来做决定?是不是资深人士来决定哪些需要做自动的,然后把这些需要做自动的测试的test case发给专门写script的人,由他们来做regression test?

期待楼主..........
作者: superman139    时间: 2009-7-24 13:15
http://baike.baidu.com/view/106213.htm动态测试的定义.多用搜索找答案吧
作者: yuetiantian    时间: 2009-7-24 13:25
原帖由 e7luwei 于 2009-7-24 00:52 发表
楼主好人啊,本人是菜鸟中的菜菜鸟,软件工程大3的学生,准备大4,学校安排去北京实习,本人一直想从事测试方向,去北京之前想先热热身,但是不知从什么方面入手。比如,如果看了好多测试方面的书籍和资料,有了一定的理论基础,想自己动手实践一下,但是不知道用什么工具测试,测试什么,该怎么测试。毕竟,动手实践才会发现问题,发现问题解决了才能够有所提高,不断充实自己,但是,现在问题貌似很严重,连怎么入手都不懂,有点急躁了,希望楼主给些建议,感谢万分
还有好多问题呢
1,软件测试需要知识面很广,编程语言,数据结构,操作系统,计算机网络,数据库知识等等,这些知识如果要入门软件测试的话,掌握的程度是怎么样的呢?当然,能入门之后肯定会不断的完善的。本人不才,这些知识在大学都学过,但是没有引起足够的重视,混个及格的分数就得,现在,真正想在测试方面发展了,回头看似乎什么东西都没学到,真的好悲哀,但是又很想学好,心理矛盾啊~
2,关于测试方面,要达到什么样的程度才能达到企业的基本要求呢?


保持进取心是好的,但是不要急躁,急躁无助于问题的解决。人首先应该认识自己,你现在还在上学,测试还没有入门,很多东西不熟悉不了解很正常。只要你愿意不断学习,我相信有天你一定会成为高手的。
万事开头难,如果能够实际做一些测试工作当然是好的,但是你现在好像没有条件做一些实践,这点我暂时也无法帮你,只能说尽量想办法创造条件吧。
1.这些知识都学过,如果有编程经验,建议你先抓一门脚本语言,把它熟练掌握。做到人无我有,人有我强,这样可以形成你的竞争力,初学者最忌贪多。很多知识只需要大致了解即可,真正用到的时候再温习上手。最重要的能力是学习能力。
2.各种企业的要求肯定不一样。当然,企业肯定希望你能干活,能干好活。我个人认为综合能力必不可少,比如英文能力,团队协作能力,认真负责,技术如果厉害那就更好了。
一家之言,希望对你有所帮助
作者: yuetiantian    时间: 2009-7-24 13:29
原帖由 jrgglolicon 于 2009-7-24 11:50 发表
请问LZ  动态测试是否即为黑盒测试  或者说2者的意义相近

动态测试一般指为了发现bug而执行程序的过程。它与静态测试相对。(执行程序)
静态测试是指不执行程序的情况下,用review或一些检测工具来发现bug的过程。(不执行程序)

[ 本帖最后由 yuetiantian 于 2009-7-24 14:34 编辑 ]
作者: yuetiantian    时间: 2009-7-24 13:42
原帖由 fish55 于 2009-7-24 12:35 发表
A)我正在学QA,有人说要学sql query,在网上找了一下,好象是查表里的内容,语句我也明白,可是非常的不明白下面几个问题:

1.这查询是干什么用的?与测试有什么关系?听说和backend testing 有点关系,不是太懂,能解惑吗?
2.什么时候用?
3.为什么不能直接访问数据库,读取数据呢?而要用这个sql query呢? 那oracle怎么办?
4.查询之前,一定要知道表的名字吗?如何能知道?
5.环境在那里呢? 从哪里运行阿?

B)又一问题请教:我们都知道QTP,WINRUNNER是做regression用的,
1.可是怎样决定哪些test case是自动的, 哪些是手动的?
2.谁来做决定?是不是资深人士来决定哪些需要做自动的,然后把这些需要做自动的测试的test case发给专门写script的人,由他们来做regression test?

惭愧啊,被你这样期待。
A)sql query我没有用过,应该是个图形化的工具用来编写和执行sql语句操作数据库。这只是千百个可以用来做测试的工具中的一个,就好像microsoft office word也可以拿来做测试工具一样。如果你学习软件测试,可能会用到,也可能不会用到,所以并非一定要学它。不过,在时间充裕的情况下多学习东西怎么说也不会错。
1.它可以用来做数据库方面的测试。backend testing一般指测试软件后台的功能,即不是通过用户界面来操作软件,因为它对用户是透明的,即用户实际不会看到软件后台的运行过程。我想数据库方面的测试是backend testing的一部分,不过,很多人愿意将backend testing理解成数据库方面的测试。
2.我确实没有用过该工具,我猜想在测试数据库的时候可以用到。
3.你完全可以用其它软件来直接操作数据库。我想,该软件同样可以用来操作oracle数据库。
4.你做这种数据库测试,一般都需要知道数据库的组织结构的,这些会在软件设计文档,或者测试计划或测试用例文档中出现。
5.具体情况需要具体分析。
作者: jrgglolicon    时间: 2009-7-24 14:21
谢谢 LZ
作者: jrgglolicon    时间: 2009-7-24 14:23
原帖由 superman139 于 2009-7-24 13:15 发表
http://baike.baidu.com/view/106213.htm动态测试的定义.多用搜索找答案吧



  我自己也在查找资料  我所在这里的测试组和开发组比较忙 我也是自己在一边学习而已   我就把很多问题留了下来 这些问题一般是我自己有点想法 但不确认的问题 比如刚才提到的 动态和黑盒是不是意义相近的问题  总之呢 问题多了去了  诶    恼火哈哈哈
作者: superman139    时间: 2009-7-24 14:30
大家都一样的.问题多多.
作者: yuetiantian    时间: 2009-7-24 14:34
原帖由 fish55 于 2009-7-24 12:35 发表
B)又一问题请教:我们都知道QTP,WINRUNNER是做regression用的,
1.可是怎样决定哪些test case是自动的, 哪些是手动的?
2.谁来做决定?是不是资深人士来决定哪些需要做自动的,然后把这些需要做自动的测试的test case发给专门写script的人,由他们来做regression test?


差点忘了后面还有一个问题需要回答。
首先,他们不一定是拿来做regression的,在不同的阶段,他们同样可以用来做smoke,做integration...
1.这是一个很好的问题。首先你要知道并非所有的手动case都能够转成自动的,因为有些需要人脑参与的判断用机器是无法实现的,比如说验证某图片是否包含某模式。其次,要考虑能自动化的case是否值得自动化,如果只执行很少几次,没有必要花很大的功夫去做。原则上来说以下一些case应该自动化:(1)需要多次执行的(2)手工执行枯燥乏味耗时容易出错的(3)手工无法测试的,比如压力测试,在多少秒内需要执行若干次的
2.根据组织结构的不同,不同级别的相关人员都可以做出决定。一般是需要比较了解待测系统并且经验丰富的工程师决定,并且经过项目管理者同意,因为毕竟项目组资源是有限的,管理者需要根据任务的轻重缓急来分配资源。
写自动化脚本的人不一定会去执行自动测试,具体要看组织内部如何分工。一般来说,由不是case编写者的测试人员来执行case,发现bug的可能性更高些。
作者: superman139    时间: 2009-7-24 14:34
比如,我们的开发现在正在想程序里加入一个大的功能,而我现在就要开始着手准备  测试计划  的方方面面的学习.多学一点总是好的.
作者: wshxf    时间: 2009-7-24 16:05
看过,我也是想学软件测试,可是底子太薄,希望LZ多多给新人介绍些入门书籍
作者: jrgglolicon    时间: 2009-7-24 17:06
请问LZ啊 V模型的具体含义  我在百度查了 但是除去那副能看的图和前几段的文字看明白了  下面的文字打出的V模型似乎很扭曲啊



[attach]54367[/attach]即为此图 如何做出最正确简洁的理解

[ 本帖最后由 jrgglolicon 于 2009-7-24 17:09 编辑 ]
作者: kings727    时间: 2009-7-24 17:25
原帖由 jrgglolicon 于 2009-7-24 17:06 发表
请问LZ啊 V模型的具体含义  我在百度查了 但是除去那副能看的图和前几段的文字看明白了  下面的文字打出的V模型似乎很扭曲啊



54367即为此图 如何做出最正确简洁的理解

忍不住,露出水面下,V模型似乎很扭曲啊 是什么意思?

如何做出最正确简洁的理解  这个是整个开发流程图,不过现在已经不适用了,或者说不是最好的模式了。
抢答,LZL 莫怪哈。
作者: yuetiantian    时间: 2009-7-24 20:00
原帖由 wshxf 于 2009-7-24 16:05 发表
看过,我也是想学软件测试,可是底子太薄,希望LZ多多给新人介绍些入门书籍


我主要是看《软件测试》和《软件测试的艺术》这两本书,还有一本叫做《Systematic Software Testing》的我很喜欢。
作者: yuetiantian    时间: 2009-7-24 20:08
原帖由 jrgglolicon 于 2009-7-24 17:06 发表
请问LZ啊 V模型的具体含义  我在百度查了 但是除去那副能看的图和前几段的文字看明白了  下面的文字打出的V模型似乎很扭曲啊



54367即为此图 如何做出最正确简洁的理解


其实此图少了中间的四条线,
一条线从需求分析指向接受测试,表示接受测试应该以需求分析为基础,用来验证软件实现了需求分析所描述的内容。
一条线从概要设计指向系统测试,表明系统测试应该以概要设计为基础,用来验证软件实现了概要设计所描述的内容。
一条线从详细设计指向集成测试,表明集成测试应该以详细设计为基础,用来验证软件实现了详细设计所描述的内容。
一条线从代码编写指向单元测试,表明单元测试和代码编写同时进行,单元测试用来验证编写的代码在单元级别能正常工作。
作者: yuetiantian    时间: 2009-7-24 20:08
原帖由 kings727 于 2009-7-24 17:25 发表

忍不住,露出水面下,V模型似乎很扭曲啊 是什么意思?

如何做出最正确简洁的理解  这个是整个开发流程图,不过现在已经不适用了,或者说不是最好的模式了。
抢答,LZL 莫怪哈。


非常欢迎各路高手一起探讨学习!!!
作者: fish55    时间: 2009-7-24 22:52
标题: 回复 70# 的帖子
谢谢楼主指点啦!
作者: fish55    时间: 2009-7-24 23:04
原帖由 yuetiantian 于 2009-7-24 14:34 发表


差点忘了后面还有一个问题需要回答。
首先,他们不一定是拿来做regression的,在不同的阶段,他们同样可以用来做smoke,做integration...
1.这是一个很好的问题。首先你要知道并非所有的手动case都能够转成自动 ...


特别感谢楼主的回答, 进一步期待楼主中..........
for 1,是不是一般转换成automation的不是一个test case,而是一个scenario, automation 也许要test plan吧? 制定scope?哪些需要automation?
for 2,你的意思是说,公司中senior level的来了解项目, 决定哪些用来做automation, intermedia level写script,junior来run script,是吗?不知道理解的对不对?

[ 本帖最后由 fish55 于 2009-7-24 23:06 编辑 ]
作者: yuetiantian    时间: 2009-7-25 10:39
原帖由 fish55 于 2009-7-24 23:04 发表


特别感谢楼主的回答, 进一步期待楼主中..........
for 1,是不是一般转换成automation的不是一个test case,而是一个scenario, automation 也许要test plan吧? 制定scope?哪些需要automation?
for 2,你的意思是说,公司中senior level的来了解项目, 决定哪些用来做automation, intermedia level写script,junior来run script,是吗?不知道理解的对不对?


1.test case当然是有场景的,也就是在什么样的前提下,做什么操作,期待得到怎样的结果。你可以automate一个testcase,也可以automate一组testcase。test plan是在automation之前就需要编写好的,里面只会描述要测试的内容,你可以在test plan里面描述哪些内容需要手动,哪些内容需要自动,但具体如何来实现,应该不是test plan需要考虑的。

2.一般test plan需要有经验的人来做,至于写script和执行script的人没有高低之分。这里要测试设计和执行的人分开,是因为可以利用多人之间的认识差异性,从而更容易发现bug。
作者: sunny_jing    时间: 2009-7-26 13:41
我刚刚接触软件测试,现在正在进行一个软件测试的培训,可是感觉学的很晕,书上的东西可以记住,可是若要是给我个项目我还是不知道怎么下手,请教怎样才能真正的学好呢?
作者: yuetiantian    时间: 2009-7-26 14:23
原帖由 sunny_jing 于 2009-7-26 13:41 发表
我刚刚接触软件测试,现在正在进行一个软件测试的培训,可是感觉学的很晕,书上的东西可以记住,可是若要是给我个项目我还是不知道怎么下手,请教怎样才能真正的学好呢?


刚接触软件测试,一定要打好基础。万丈高楼如果地基打得不好的话,就会像上海莲花河畔小区的楼,很容易倒下。所以明确软件测试相关的基本概念,是非常重要的。如果有概念不清楚,尽量查看英文的定义,一般都会比较权威。一个简单的方法就是在wikipedia上搜索你想要了解的概念,看看有经验的人到底是如何理解这些概念的。
至于实践呢,只能在实际的工作中慢慢接触了,也非一朝一夕的功夫。工作经验得到一定的积累后,才帮你更加清晰地理解学习过的软件测试的理论。
作者: jrgglolicon    时间: 2009-7-27 09:22
原帖由 yuetiantian 于 2009-7-24 20:08 发表


其实此图少了中间的四条线,
一条线从需求分析指向接受测试,表示接受测试应该以需求分析为基础,用来验证软件实现了需求分析所描述的内容。
一条线从概要设计指向系统测试,表明系统测试应该以概要设计为基础 ...



这,没有完整的图么
作者: yuetiantian    时间: 2009-7-27 09:31
原帖由 jrgglolicon 于 2009-7-27 09:22 发表



这,没有完整的图么


看看英文的吧
作者: jrgglolicon    时间: 2009-7-27 10:14
我的天 全英文      谢谢LZ
作者: 月上百合    时间: 2009-7-27 10:39
很好的一个贴子,在这里收获更大
作者: yuetiantian    时间: 2009-7-27 16:12
原帖由 jrgglolicon 于 2009-7-27 10:14 发表
我的天 全英文      谢谢LZ


从现在开始好好学英语吧,你还年轻。
作者: yuetiantian    时间: 2009-7-27 16:12
原帖由 月上百合 于 2009-7-27 10:39 发表
很好的一个贴子,在这里收获更大


谢谢捧场啊,呵呵
作者: fish55    时间: 2009-7-28 12:38
标题: 继续请教楼主:冒烟测试需要test case吗?
我理解的冒烟测试为了验证被测软件是否ready for formal test, 我理解的对吗?如果这样,那就大概run 一下applicaiton不就行了吗?
作者: yuetiantian    时间: 2009-7-28 13:04
原帖由 fish55 于 2009-7-28 12:38 发表
我理解的冒烟测试为了验证被测软件是否ready for formal test, 我理解的对吗?如果这样,那就大概run 一下applicaiton不就行了吗?


你的理解基本正确。但smoke test最好是能够重复的,因为会频繁的执行,如果能够自动化更好。它的目的就是要保证新build出来的软件可以经得住基本的测试,主要功能不要有问题。所以一般smoke test的用例会是测试软件最基本的功能,可以是regression test用例的一个子集。下面一些内容来自wiki,可以参考。
Smoke testing is done by developers before the build is released to the testers, or by testers before accepting a build for further testing. Microsoft claims that after code reviews, smoke testing is the most cost effective method for identifying and fixing defects in software.
In software testing, a smoke test is a collection of written tests that are performed on a system prior to being accepted for further testing. This is also known as a build verification test. This is a "shallow and wide" approach to the application. The tester "touches" all areas of the application without getting too deep, looking for answers to basic questions like, "Can I launch the test item at all?", "Does it open to a window?", "Do the buttons on the window do things?".
The purpose is to determine whether or not the application is so badly broken that testing functionality in a more detailed way is unnecessary. These written tests can either be performed manually or using an automated tool. When automated tools are used, the tests are often initiated by the same process that generates the build itself.
作者: fish55    时间: 2009-7-28 13:29
标题: 谢谢楼主
回答的可真快啊!
作者: yuetiantian    时间: 2009-7-29 16:54
原帖由 fish55 于 2009-7-28 13:29 发表
回答的可真快啊!

你也不慢啊
作者: jrgglolicon    时间: 2009-7-30 19:39
LZ好啊  很久不见哈·~~我才到这个公司 就忙的一塌糊涂   



    说正事 请教LZ  V模型到底是个什么意思 怎么解释 如何定义
作者: yuetiantian    时间: 2009-7-30 20:13
原帖由 jrgglolicon 于 2009-7-30 19:39 发表
LZ好啊  很久不见哈·~~我才到这个公司 就忙的一塌糊涂   



    说正事 请教LZ  V模型到底是个什么意思 怎么解释 如何定义

(⊙o⊙)…,你认识我啊?
下面是V model的描述:
The "V" model of testing shows that the system test should be planned next based on the high-level design (and requirements); integration testing should be planned using the detailed design (and the high-level design and requirements); and unit testing should be planned based on the coding (and the detailed design, high-level design, and requirements).
我想主要是两点:
1.明确了各测试阶段应该参照什么来进行测试,测试与软件开发各阶段的关系
2.描述了各阶段测试执行的先后顺序(X轴为时间轴)
作者: jrgglolicon    时间: 2009-7-30 20:22
LZ 我英语不好啊  我哭
作者: yuetiantian    时间: 2009-7-30 20:45
原帖由 jrgglolicon 于 2009-7-30 20:22 发表
LZ 我英语不好啊  我哭

其实英文的内容就是我前面的帖子里面的内容,你并没有错过什么信息。
英文不好可以学嘛,现在就开始,3年以后一定大有不同。现在不开始,3年以后。。。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2