‘壹’ 怎样才能写好测试用例什么样的测试用例才算得上是好的测试用例
我觉得做好以下三点就是一个好的用例。
第一:依据分明
众所周知,一个项目首先立项,然后经过一系列的动作到了需求分析,昨晚需求分析后,测试就可以做测试需求,然后就可以写测试用例了。所以写测试用例的依据就是需求。这么说太笼统,举一个例子。一个系统经过前期的需求分析,详细设计,模块设计等一系列的动作,最后生成了详细的需求说明和详细设计文档等等,在这些文档中,已经很详细的描述了所有的需求点和功能点,也有较详细的技术说明,接下来的工作就是怎么把这些功能点和需求点变成测试点,这就需要做好测试需求分析和测试方案工作,生成一个个可测试的测试点。这也是需求必须可测的一个体现。
假设经过上一步工作,分析出这个系统有5个模块,50个大的功能点,500个具体需求点,最后生成了5000个测试点。那么 ok,我们就要写5000个测试用例。还是那句话,一个测试用例只能对应一个测试点,测试点和用例是1对1的关系;一个需求点可以对应多个用例,需求点和用例是1对多的关系。这样做的目的在统计中讲。
第二:目的明确
用例都有个测试目的,这就是要目的明确,并且也只能有一个目的。前面无论多少步骤,都是为了找到这个目的途径。功能从大到小有层次的划分,我们做测试用例也是有层次的,不然你怎么定义用例的优先级呢?等到测试最小的功能点是,支持这个功能点的其他上层功能点,我们都默认正确就可以了,这就是我们的预期,所以在测试步骤中不用对上层的功能专门考虑测试数据,只把他当成一个正确的找到目前的功能点的途径就行。换句话说,你要测试的功能点需要点10个连接才能找到,那么前9个连接我们再以前就应该设计了用例,在第10个连接中默认他们正确就ok,这个用例的前9步,只是告诉你如何找到第10步。就是这样。
第三:便于统计
测试用例对整个测试过程的质量控制和评估有很重要的意义。
一,可以做测试需求覆盖分析。这样如果一个用例写几个测试点,那么就无法完成需求覆盖分析工作,至少是不符合规则的。
二,做用例成功率分析。一个用例中有多个测试点,肯定会造成用例数量减少,用例失败率大大增多。那么你做的用例成功率还有什么意义?
你还可以通过模块划分,来分析哪个模块存在的问题较多,还有可能存在更多的问题(应为程序员不同,能力就不同,缺陷喜欢扎堆分布,这个大家都知道),存在问题较多的模块需要做进一步的测试或者下一次作为测试重点。如果你统计的数据不准确,会误导结果的。
三,做缺陷分析。用例失败了,就生成一个缺陷。如果一个用例中写了多个测试点,回归的时候,这几个测试点也有回归,有些可能与缺陷毫无关系的测试点,都被你回归了。
还有 更详细的,介绍你去中国IT实验室的网站看看,里面有很多资料。
‘贰’ 我是一名java程序员,但想干测试可以吗会有困难吗因为我对测试一点也不懂
如果你是java程序员,那么你的调试能力应该要还行,虽然没有测试的专门培训,你一样可以干测试,只不过要自己多用学会一些测试工具。
‘叁’ java程序员如何编写更好的单元测试
一般来说,Java程序员要编写更好的单元测试,可以从以下7个方面改善:
1、首先需要全面了解软件开发测试的类型。单元测试用于测试各个代码组件,并确保代码按照预期的方式工作。
2、使用框架来用于单元测试。Java提供了若干用于单元测试的框架。TestNG和JUnit是最流行的测试框架
3、谨慎使用测试驱动开发。测试驱动开发(TDD)是一个软件开发过程,在这过程中,在开始任何编码之前,我们基于需求来编写测试。由于还没有编码,测试最初会失败。然后写入最小量的代码以通过测试。然后重构代码,直到被优化。
4、测量代码覆盖率。代码覆盖率衡量(以百分比表示)了在运行单元测试时执行的代码量。通常,高覆盖率的代码包含未检测到的错误的几率要低,因为其更多的源代码在测试过程中被执行。
5、尽可能将测试数据外部化。在JUnit4之前,测试用例要运行的数据必须硬编码到测试用例中。这导致了限制,为了使用不同的数据运行测试,测试用例代码必须修改。
6、善用JUnit。与TestNG类似,测试数据也可以外部化用于JUnit。
7、使用断言而不是Print语句。许多新手开发人员习惯于在每行代码之后编写System.out.println语句来验证代码是否正确执行。这种做法常常扩展到单元测试,从而导致测试代码变得杂乱。除了混乱,这需要开发人员手动干预去验证控制台上打印的输出,以检查测试是否成功运行。更好的方法是使用自动指示测试结果的断言。
‘肆’ 将程序员写好的程序进行测试有什么意义。为什么要进行测试为什么不根据页面效果来测试
写代码编程无非都是为了写某一款软件或者某个网站等等,都是为了完成某个项目,而一个项目最重要的就是 需求分析 系统功能设计 编程 测试 测试的意义在于保障编程的完整性,在于检查错误,修补漏洞,编程动不动就几千行代码,谁能保证一点小错没有,测试就是尽量减少这些失误或者错误
‘伍’ 软件测试是不是主观上比较难,但是程序员虽然要敲代码,但是只要敲代码就可以了
我就是培训出来的,如果你弟弟学了一半不想学那就别学了,他吃不了这个苦的,这一行需要不停的学习,不然就落后。软件测试无非两种,一种是人员测试功能,也不需要多专业的知识,就是坐那让你一个一个功能进行测试。一种是用专门的测试软件测试,需要一定的基础和知识。程序员比测试可麻烦多了,要学的东西很多,不是说学一门语言就无敌了,要学很多东西联合起来使用。这一行要么有极高的天赋,要么有很大的兴趣,如果都没有,就只能靠自己努力,但你弟弟半途而废的做法,我认为他坚持不下去。
‘陆’ 做程序员与做测试员的选择
1、学历问题:大公司对于学历还是有一定的要求的,学历高的起薪也高,但是学历不能代表所有,也有学历高,但是技术垃圾的人,所以不要因为学历的问题来妄自菲薄,学历只是入门和之后评职称的时候有用,学历可以以后慢慢考。所以学历不是问题。
2、方向问题:如果是培训出来的话,那的基础知识一定不会非常的好,一定要注意基础部分,不要总是因为学习了多少框架而感到骄傲并且否定基础的东西,其实无论是框架还是什么都是基础的延续,只要打下了扎实的基础,那么学习起框架那些东西。培训出来的人大都做开发,而测试一般都是逼不得已而为之!
3、测试和开发哪个好:都是比较枯燥的工作,测试久了想转开发,开发久了想转行。就像围城。测试,没有做过,但是听说过一些,测试枯燥、乏味、而且经常熬夜,(开发也一样),但是从薪方面看,开发的优势就远远大于测试了,不是说测试比开发低级,用共产党的话就是:革命没有贵贱之分,只有分工的不同而已。
(6)程序员能写好测试点吗扩展阅读:
做好一名测试工程师的方法:
1、沟通能力。
一名理想的测试者必须能够同测试涉及到的所有人进行沟通,具有与技术(开发者)和非技术人员(客户,管理人员)的交流能力。既要可以和用户谈得来,又能同开发人员说得上话,不幸的是这两类人没有共同语言。
2、技术能力。
一个测试者必须既明白被测软件系统的概念又要会使用工程中的那些工具。要做到这一点需要有几年以上的编程经验,前期的开发经验可以帮助对软件开发过程有较深入的理解,从开发人员的角度正确的评价测试者,简化自动测试工具编程的学习曲线。
3、很强的记忆力。
一个理想的测试者应该有能力将以前曾经遇到过的类似的错误从记忆深处挖掘出来,这一能力在测试过程中的价值是无法衡量的。因为许多新出现的问题和我们已经发现的问题相差无几。
4、幽默感。在遇到狡辩的情况下,一个幽默的批评将是很有帮助的。
‘柒’ 在测试中如何写好测试用例需求点
在软件测试中如果想把测试用例做的更加完善可以从下面几个维度去考虑:(1) 用例ID。可以定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。(2) 用例名称。是测试用例的编辑的名称代号,测试用例文档将受制于测试用例 管理软件的约束。(3) 测试目的。也就是指测试用例的目标和行使其过程所要达到的最终要求。(4) 测试级别等等.如果想深入了解可以持续关注黑马程序员软件测试
‘捌’ java程序员写完程序怎么提交测试进行测试
可以提交给专门的软件测试工程师进行测试。当然程式员写完之后,也可以先进行测试,有以下测试方法,在代码中写些测试的方法,把你想要验证的东西,输出看一下(比如System.out.println(););可以用Debug的形式,跟踪代码执行,验证程序的逻辑是否正确(断点调试);使用junit测试框架,Junit测试是程序员测试,即所谓白盒测试。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。
‘玖’ 测试是不是主观上比开发难程序员是不是只有敲代码就可以了
相对而言 开发更难的
程序员敲代码也只是一方面
敲代码的过程中也是要考虑很多东西的
所以不要小看程序员的工作
他们的工作比大部分人的都要复杂的
‘拾’ 做软件测试比程序员工作更难吗
这个问题你得抛开来分析,从理论上来说的话软件测试,要比程序员的工作更难。因为他的职位要求,它是给程序员挑错的。也就是说,程序员懂的她必须都懂,不然的话如何挑错。
但是从现实上来分析的话。国内软件测试业界,8成以上的软件测试,是做不到理论上的职业要求的。一大半的都是非常初级的功能测试的测试员。就是只会点点找出错,也解释不清原因。待遇普遍在5000块钱以下。
所以我们国内目前的软件测试行业并没有追求。大部分的软件测试从业者的工作是非常轻松的,但是软件测试这个职位真正对于从业者的要求来说,是非常高的。所以理论上来说软件测试,比程序员的工作更难,但是国内现实来说,要轻松不少,待遇也少很多。