如何才能写好一个软件的测试用例
写好一个软件的测试用例的建议有:1、测试用例名称,也叫测试用例标题,一定要写得简洁、明了,需要用概括的语言描述该用例的出发点和关注点,使得测试人员第一眼看到测试用例名称就能够明白测试用例的目的。
用例名称中一般要求不能存在假设性的语句,并且原则上每个用例的名称不能重复。
2、预置条件要明确,包括测试环境、测试数据、测试场景。
因为许多BUG只有在特定的环境、特定的场景下才可以重现。
没有正确的前提条件,就无法进行后面的测试步骤或无法得到预期的结果。
3、测试步骤描述要简单、清晰,并且要清楚每一个步骤的描述,比如:第一步,输入用户姓名;第二步,输入登录密码;第三步,用户点击登录。
步骤写的明确时就利于提高用例的可操作性。
4、用例的预期结果要完整而且清晰,并且要将各个输出的结果写出来,包括:返回值的内容、数据库相关字段的记录、界面的响应结果、输出结果的规则符合度、日志的检查和对其它业务影响的检查。
5、测试用例级别要划分清楚,这样在测试执行时有主次之分。
6、测试用例的划分也要单一,一个测试用例只检查功能点的一种情况。
一个用例检查的情况太多,会导致用例的目的不明确。
而且这样组织用例,有利于需求覆盖率的统计。
一个功能点我们测试了哪些情况,以及哪些功能点我们在重点测试,一目了然。
如何判断一个软件测试人员是否优秀
一名优秀的测试人员应该具有的素质包括:一、 踏实细心和积极主动 我觉得作为一名测试人员首先要踏实细心。
细心:这个不用多解释了吧。
粗枝大叶的人是没法做好软件测试的。
软件测试,特别是当前国内主流的手动黑盒功能测试。
基本上软件测试的工作就是一项重复劳动,需要有一定的耐心来保证不在枯燥的重复劳动中放过那些细小的缺陷。
测试人员每天都要面对着枯燥的程序,从事着大量的重复工作,还要尽量发现产品中的bug。
如果不踏实,你就坐不住,总想干别的,就无法净下心来想用户有可能怎么用,需求对产品是怎么要求的,现在产品中是怎么做的,哪里可能存在问题。
不细心,就特别容易一些产品中微笑的错误,而恰恰就是这些错误是最影响产品形象的问题。
至于积极主动就不多说了。
这是每个人都应该具有 二、好奇心,怀疑一切 测试人员,对于手上的项目,如果单单只是去运行它,这样是没法发现问题的。
我们测试人员进行测试的主要目的就是发现软件存在缺陷,而不是证明它没有缺陷。
如果不抱着怀疑一切的态度就不是一名合格的测试人员。
经过你手测试的产品面对的是直接用户。
你不认真负责,不抱着怀疑一切的态度。
总想着这个功能本版没动应该没什么问题,认为一般人不会去这样操作它,这个功能没什么用户用不用认真测了。
这样发出的产品,我是不敢让用户用。
因为用户用起产品来是千奇百怪,有些用户的水平和对产品的理解比咱们还要深。
所以一定要抱着怀疑一切的态度,从多个方面考虑,认为产品每个功能都可能有问题,多问一个「为什么」,「如果这样,行不行?」,认真地测试产品的每一个测试点。
三、与他人良好交流的能力 众所周知,测试的过程是一个发现问题并且跟踪解决问题的一个过程,在这个过程中,要意识到测试、开发、需求是一个团队,一个整体。
离了谁,产品的质量都无法保证。
沟通能力作为一项特别重要的软技能,在工作中起着举足轻重的作用。
作为一名测试人员,我们在提交问题的时候,要做到条理清晰,必要时配上图片以便别人理解,自己提交的问题只有自己能看懂这可不行。
我们还需要和项目经理交流了解最新的客户需求,要和开发人员沟通以便解决缺陷。
之前看过一段幽默的开发人员和测试人员的对话:测试日常:开发:这不是软件的问题,我看了测试代码,这个地方有点问题,不该是这样测。
测试:真的吗?我看看…真的啊,稍等我提交一下…谢谢你帮我们找到这个bug。
开发:没事,不用谢…(感觉有什么不对) 无论是和项目经理还是开发员人交流的时候,态度很重要,这里我说的态度不是低声下气,底气不足的跟她们交流,特别是和开发人员交流时,可能会因为一个bug,两人争执不下发生冲突,这时候我们测试人员要做到分析问题所在,同时也要听听开发人员的想法,心平气和进行交流,最后实在是两人都拿不定注意,可以请示上级。
四、持续不断的自我提高和总结能力 我觉得无论是哪个行业,都不能停滞不前,自我提高是必须的,这样才不会被淘汰,那么作为一名优秀的测试人员如何提高自己的测试能力呢?第一,首先提高自己的测试理论基础。
所有的测试基础概念其实都是通用的:静态测试,动态测试,测试用例,等等以及一些测试相关技术:等价类划分,边界值,相信这些方法所有的人每天都在用,但是未必所有的人都能说明白。
所以为自己每天所做的测试行动找点理论基础,即有效率有与实践相结合,这也是职业发展的重要一步。
第二,要对测试的整体流程有完整的概念。
这个是目前很多初级测试人员所欠缺的。
目前大多数人只知道自己测试的是什么东西,但是不知道自己执行的测试处于什么阶段,下一个阶段是什么,也许整个项目做完不知道;这对于一个产品来说是一个不负责任的行为,所以也就需要测试人员有端到端的测试意识和对测试流程的概念的认可,要有测试整体流程管理的概念。
第三,在进行测试工作中要弄明白为什么要这么做,为什么要执行这样的案例,为什么要执行相关的测试工作。
多问几个为什么。
有一个问题要先讲清楚,就是有很多人还没有注意到这个问题,领导让怎么做就怎么做,也许真的做的很熟练了,但是一年后去问他为什么要这么做,相信他也说不出太多,反倒觉得就应该这么测。
这样带来直接的弊端就是对自己的职业之路不负责任。
另外,我觉得作为一名合格的测试人员,一定要注意进行总结。
通过总结可以对自己的工作进行一个回顾分析,看看那些做得不错,下次还继续这么做。
那些工作还有改进的余地。
对自己能力的提高是一个很好的帮助。
五、强烈的责任感 对于你测试的产品付责任,许多测试人员在早上来到办公室,完成自己的任务,然后晚上下班回家。
当软件测试人员完成自己的任务,然后下班收拾东西回家,这种常规的工作方式听起来很正常吧?是的,不得不说,目前我们都是这样的一个状态。
要完成一个高质量的产品,我们就要对它负责,那么怎么负责呢?测试人员要对所测试的对象质量负责,要能保证测试的覆盖到每一需求点,同时要能保证功能都可以正确实现等或者达到了测试通过的标准。
对于测试人员漏测,毕...
请问如何成为一个高级软件测试工程师?
1.起码有三年以上的软件开发经验现在许多软件企业招收一些刚刚毕业的大学生或者非计算机专业的人员作为自己公司软件测试工程师,这是非常错误的,也是对软件测试不负责任的表现。
虽然他们可以发现软件中的一些错误,但是对于软件中的一些关键,致命,危险的错误他们是很难发现的。
大家都知道,软件工程中有个模型叫瀑布模型,这是最基本的软件模型,这个模型又叫碗状模型,因为开发位于碗的最底部,左上方依次为建模,需求分析,设计;右上方依次为测试,部署,维护。
这就是说明软件开发是一切软件活动的基础,同时也是软件测试的基础。
一个人只有经历过一定年限的软件开发工作,才可以积累丰富的经验,知道在软件中哪些地方容易出错而那些地方不容易,这给以后的软件测试工作带来非常宝贵的经验。
2.有逆向思维的能力我曾经接触过一些软件测试工程师,他们干了一段时间软件测试工作后返回去又开始去做开发工作了,问他们为啥?答案是软件测试工作太难了,开发是顺向思维,而测试是逆向思维,老要找一些稀奇古怪的思路去操作软件。
软件的使用者千差万别,软件在使用过程中遇到的各种现象也是千差万别的,所以要求软件测试工程师需要具有一些逆向思维的能力,想别人所不想,测别人所不测,这样才可以找到更多的软件中的错误。
这是作为一名优秀的软件测试工程师最基本的素质。
3.善于同软件开发人员沟通沟通是当今软件项目中需要掌握的最关键技术之一。
软件测试人员要善于同软件开发人员沟通,软件测试人员与开发人员搞好关系,使测试人员不成为开发人员的眼中钉,这对于提高整个软件项目质量是十分重要的。
沟通主要包括:讨论软件的需求,设计:通过这样的沟通,你可以更好的了解所测试的软件系统,以至于尽可能少的测试出软件中不是错误的“错误”,从而降低给软件开发人员带来的压力。
报告好的测试结果:作为一个测试人员,发现错误往往是测试人员最愿意而且引以自豪的结果,但是一味地给开发人员报告软件错误,会给他们造成厌恶感,降低整个软件的质量和开发进度。
所以作为一名软件测试工程师,当你测试的模块没有严重的错误或者错误很少的时候,你不妨跑到开发人员那里告诉他们这个好消息,这会给你带来意想不到的结果。
讨论一些与工作无关的事情:作为一个测试人员经常和开发人员讨论一些与工作无关的事情,比如大家可以谈谈新闻,趣事,家庭…这样可以加强相互间的默契程度,许多统计表明,这样可以更好的提高软件工作质量。
4.善于同领导沟通测试人员往往是领导的眼和耳,领导根据测试人员的测试结果可以了解公司的产品质量,从而调整其他的工作。
领导工作一般比较繁忙,所以作为一名优秀的测试人员要学会把测试结果进行总结,最好以图表的形势给领导看。
5.掌握一些自动化测试工具测试工作往往是比较繁琐,枯燥无味的工作,测试人员长期处于重复的手工工作,会降低测试效率,并且对于测试质量也往往是不利的;况且许多测试不使用测试工具是不可以进行的,比如性能测试,压力测试等等。
目前市场上有许多测试工具供你使用,你可以根据自己的需要选择一些测试工具来辅助你的测试。
但是要记住一点,不是说有了测试工具就不要人工测试了,测试工具不是万能的。
6.善于学习的能力软件测试技术随着时间的变化也在做一些提高和改进,作为一名优秀的测试人员要善于利用书籍,网站,论坛,交流等各种途径不断提高自己的软件测试水平。
7.提高自己的表达能力软件测试人员当发现软件中存在缺陷的时候,往往要书写缺陷报告,缺陷报告要写得详尽清楚,使开发人员能够尽快定位错误,修改错误,所以作为一名优秀的测试人员提高自己的写作能力是非常必要的。
8.了解业务知识更好的了解你说测试软件的业务知识是非常重要的,对业务知识了解得越深入,越能够找出更深入,更关键,更隐蔽的软件错误。
所以作为一名优秀的软件测试工程师,要多向该领域专家,同行学习,提高自己的业务知识水平。
以上仅为个人的一些经验所谈,希望大家都能够成为一名优秀的软件测试工程师。
求一个测试适合工作的软件
软件开发和软件测试是两个不同方向的工作,软件测试主要为软件开发做服务。
主要就要看你的发展方向了。
软件开发主要倾向于对技术有要求,对技术有爱好逻辑思维能力理解能力比较强。
而软件测试,主要就是软件测试的经验,以及对不同程序的快速理解能力。
还有更重要的一个就是细心,当然一个好的软件测试工程师也必须要有相当的软件开发(编程)的能力来支撑。
目前来说,由于大家对软件测试工作的误解,导致很多人盲目的追随潮流,投身软件开发,也不考虑自身情况到底适合什么样的工作。
错误的理解软件测试没有软件开发NB,所以导致了软件测试人才的缺少,目前软件测试的人才还是相当吃香的。
如何去测试一个B/S软件
由于你们只做功能测试,作为过来人,有两点建议:1、需要业务上的各个流程搞通,要非常精通业务,能够想到各个细枝末节,包括转牛角尖的地方(就是特殊环节)。
2、程序设计流程,需要你们与开发人员沟通,也需要很精通,这个可以参考设计人员的程序设计资料。
先精通业务,后搞通程序设计流程
学习软件测试需要什么基础
首先,要有宽泛的计算机基础知识。
微机原理,数据结构,数据库,操作系统原理,编译原理,逻辑,编程语言,网络,等等,都要系统地学习过。
都精通不大可能,因为人的兴趣都不相同,但是,这些功课的基本知识点是应当了解的。
我们在谈到职业的类别的时候,我们可以说C程序员,C#程序员,Java程序员,而没有C测试员,C#测试员,Java测试员,程序员可以只擅长某一门编程语言,测试员却不行。
为什么呢?测试员是代表用户的,在做测试的时候,他(她)需要考虑到方方面面的事情。
例如对于一个用C写的上网拨号程序,测试员需要考虑:(1) 程序的功能是否正确;(要求计算机知识)(2) 是否符合用户的使用习惯;(要求界面设计知识和换位思考能力)(3) 性能是否满足要求,例如长时间使用;稳定性;(要求深入的计算机知识)(4) 是否能够满足用户可能的不同操作系统的要求;(要求计算机知识)(5) 如果在全球发布,是否满足不同语言和文化的需求;(要求软件国际化测试知识)(6) 如何搭建测试环境;(动手能力,硬件知识)(7) 做代码检查;(比较深入的C语言知识)(8) …所以,各方面都了解一点,你在做测试的过程当中你会感觉顺手的多。
如果某写方面还差一些,没有关系,计算机行业的特点就是边做边学,只要是个有心人,学习是很快的。
其次,要掌握一门编程语言。
有的朋友可能会说,我就是不愿意做编程才来做测试的,怎么测试还有这么一个要求?我要尝试说服你:)。
我的理由有两个:1. 只有知道怎么做一个软件产品,才能真正懂得这个产品。
而只有真正懂得了产品,才能做好测试。
一行代码不会,你会始终是个门外汉。
不要满足于点鼠标,而去尝试着打开我们面前的黑盒子。
2. 自动化测试技术需要编程技术。
自动化测试是软件测试的一个发展方向,一方面很多测试工具都需要人工干预,编写代码;另一方面在有的情况下需要自己编写测试工具。
对于测试员来说,编程技术不要求精通,但要会。
再次,学好英语。
在现阶段,我们只能承认,在计算机方面,英语国家领先。
有很多的资料都是英语的,如果仅仅局限在中文资料方面,会影响你的渊博程度:)。
举一个简单的例子,Windows操作系统会捕捉到一些程序或者操作系统内部的异常,你可以根据这个异常到微软网站上去查找错误原因和解决办法,其中有很大一部分资料就是英文的,因为还没有翻译过来或者以后也不会翻译的。
以上所说的几点看法,都是在计算机行业里面打转,下面说几个“虚”的要求吧。
1. 锻炼出一双测试的眼睛。
我的一个朋友,她也是做软件测试的,她说,有一次她和她老公去买笔记本电脑,她一眼就看出液晶屏上有几个坏点,而她老公却看不出来。
她说,这要归功于她有一双测试的眼睛。
测试的眼睛,就是对问题特别敏感,能够发现常人发现不了的问题。
测试员就是要找软件中的问题,有了这双眼睛会让你收益非浅。
耐心,细心和经验,会有助于我们到达这个要求。
2.平和的心态。
从心理学上说,每个人都不喜欢别人对自己挑毛病,程序员也是这样。
所以,要以平和的心态去看待发现的软件问题,以平和的心态去和程序员交流。
千万不要以为自己发现了几个问题,就可以责怪程序员,或者冲过去骂他们一顿。
也不要在背后谈论谁谁谁不行,bug太多。
一个项
怎样做一个合格的软件测试者
首先你要明白软件测试的现在状况以及未来发展的趋势:1:软件的测试过程:单元测试,功能测试,用例设计,性能测试,自动测试。
2:最主要的步骤是作为一个非常合格的测试人员,你要设计出来一套非常全面,行之有效的测试用例,这在大型软件测试当中显得更加重要!3:未来软件的测试方向是使用软件来测试软件,而不是纯纯的手工测试,现在国内很多人都开始作这一部分的工作。
4: 软件验证技术和软件确认技术均属于测试技术层面的东西。
这个技术你有理解并且可以熟练的使用。
5:理解一门语言对软件的编程思想,环境有更深刻的理解,对自己的工作有非常大的帮助,这种帮助是需要时间慢慢的积累的,越到后帮助越大6:个人建议学习c++语言,功能非常的强大,Python语言也非常的不错,
如何成为一个优秀的软件测试工程师
自身努力与学习是成为一个好的软件测试工程师的条件。
软件测试也分好几种呢,像白盒测试与自动化测试的待遇比黑盒测试能好,其实主要还是看你个人能力呢,从整体来看 测试的待遇是很好的,基本上已经和开发持平了 但是工作强度没有开发这么累,而且经常与需求人员开发人员沟通协调,更容易走上管理岗位。
可以在软件测试的教育机构去参加培训,毕业后可以直接去外企工作,可以直接负责项目了,待遇和同职位的开发人员相当。
所以测试总体来说是很不错的一个行业,当然也要你自己的努力。
软件测试怎么样?薪水呢?
软件测试。
。
。
怎么说呢是这样,目前中国大多数企业的软件测试人员技术能力都不强,技术含量都不高,原因就在于,软件测试人员分成两种,QCE和QAE,这两者的不同之处就在于,设计和执行,注意我说的先后顺序。
你走访各大招聘会,你会发现,公司对于软件测试人员需求很大,他们要的不是一个只会按照安排做事的人,而是一个富有创造力的人。
要作软件测试很容易,要作软件测试也很难。
从我们公司的情况来讲,软件测试的地位比软件研发要差,但谁都不能否认软件测试在整个项目开发环节中的重要作用。
没有了测试环节,软件如何保障?你现在是开发人员,有编程基础,这很好,我建议你,一旦真去作了软件测试人员,千万不要让自己沉没。
不要作一个平庸的测试人员,不要只知道如何操作如何依据测试计划执行,一定要有创造力,自己开发测试小工具,找RD寻求项目代码进行白盒测试,自己修改已有测试计划,撰写更专业的测试计划,这样,你才会有前途。
肺腑之言,因为,我也是一名QA engineer.说一下薪水吧,在我们公司,测试人员和研发人员的薪资不是由职位划分的,而是由你的职级划分的,职级越高,当然工资越高。
而Coder在我们公司的薪水很低,原因在于,编码很容易,但项目设计实现和架构搭建很难,这需要更专业的知识才行,大致就是这样吧,QA不是低档职业,只要你能做好,一切皆有可能,你并不比别人差!