Ⅰ 测试程序员
比较累的工作,但工资还可以。
Ⅱ 测试工程师和程序员那个好做
测试工程师其实也属于程序员类别吧,只不过对编程的代码要求低。但是想发展好的话确实还是需要能看懂一些代码。
以前测试行业不受重视,但是现在真的是不一样了。
如果要是单纯的靠薪酬去衡量的话,基本上现在已经达到持平的标准了,而且和开发一样,对于一线城市,像北上广深,薪资始终是最好的。近两年西安的软件测试行业发展很好,那边的同学可以留意一下。
除了简单的薪资对比,还有很多对比反面可能会让你更加青睐于这个行业。比如说:
这个行业不像开发那么累,而且入门比较简单,比较适合女生之类的。总体来说,两者对比,测试入门容易,精进比较难,开发是入门难,精进更难。
Ⅲ 测试算不算程序员
软件测试严格意义上说也算程序员。软件测试员是指根据测试计划和测试方案进行软件测试;能够针对软件需求开发测试模型,制定测试方案,安排测试计划,并对测试项目进行管理的专业人员。
实践证明,实际的测试过程是颇为复杂的,这对软件测试员的要求很高。其职业等级可分为四级、三级和二级等不同的级别。测试者在执行测试任务的时候要专心,不可一心二用。高度集中精神不但能够提高效率,还能发现更多的软件缺陷,业绩最棒的往往是团队中做事精力最集中的那些成员。执行测试工作时候要细心,认真执行测试,不可以忽略一些细节。某些缺陷如果不细心很难发现,例如一些界面的样式、文字等。
测试员需要有难以置信的耐心。有时你需要花费惊人的时间去分离、识别和分派一个错误。很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好。如果比较浮躁,就不会做到“专心”和“细心”,这将让很多软件缺陷从你眼前逃过。
Ⅳ 软件测试员要知道那些有关的知识呢
软件测试是一项复杂的系统工程,从不同的角度考虑可以有不同的划分方法,对测试进行分类是为了更好的明确测试的过程,了解测试究竟要完成哪些工作,尽量做到全面测试。
1,按是否需要执行被测软件的角度
按是否需要执行被测软件的角度,可分为静态测试和动态测试,前者不利用计算机运行待测程序而应用其他手段实现测试目的,如代码审核。(我认为主要是让测试人员对编译器发现不了的潜在错误进行分析,如无效的死循环,多余的变量等,有开发人员进行测试),而动态测试则通过运行被测试软件来达到目的。
2、按阶段划分:
1 单元测试
单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试。因此应用系统有一个设计很好的体系结构就显得尤为重要。
一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。
2 集成测试
集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。
3 系统测试
系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。
4 验收测试
验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。
5 回归测试
回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。这里,修改的正确性有两重含义:一是所作的修改达到了预定目的,如错误得到改正,能够适应新的运行环境等等;二是不影响软件的其他功能的正确性。
6 Alpha 测试:在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。
7 Beta 测试:当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。
3、按测试方法划分:
1 白盒测试
白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。
白盒测试可以借助一些工具来完成如Junit Framework,Jtest等。
2 黑盒测试
黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。
“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。
黑盒测试也可以借助一些工具,如WinRunner,QuickTestPro,Rational Robot等。
3 ALAC(Act-like-a-customer)测试
ALAC测试是一种基于客户使用产品的知识开发出来的测试方法。ALAC测试是基于复杂的软件产品有许多错误的原则。最大的受益者是用户,缺陷查找和改正将针对哪些客户最容易遇到的错误。
Ⅳ 做程序员与做测试员的选择
1、学历问题:大公司对于学历还是有一定的要求的,学历高的起薪也高,但是学历不能代表所有,也有学历高,但是技术垃圾的人,所以不要因为学历的问题来妄自菲薄,学历只是入门和之后评职称的时候有用,学历可以以后慢慢考。所以学历不是问题。
2、方向问题:如果是培训出来的话,那的基础知识一定不会非常的好,一定要注意基础部分,不要总是因为学习了多少框架而感到骄傲并且否定基础的东西,其实无论是框架还是什么都是基础的延续,只要打下了扎实的基础,那么学习起框架那些东西。培训出来的人大都做开发,而测试一般都是逼不得已而为之!
3、测试和开发哪个好:都是比较枯燥的工作,测试久了想转开发,开发久了想转行。就像围城。测试,没有做过,但是听说过一些,测试枯燥、乏味、而且经常熬夜,(开发也一样),但是从薪方面看,开发的优势就远远大于测试了,不是说测试比开发低级,用共产党的话就是:革命没有贵贱之分,只有分工的不同而已。
(5)哪个测试由程序员来做而非测试员扩展阅读:
做好一名测试工程师的方法:
1、沟通能力。
一名理想的测试者必须能够同测试涉及到的所有人进行沟通,具有与技术(开发者)和非技术人员(客户,管理人员)的交流能力。既要可以和用户谈得来,又能同开发人员说得上话,不幸的是这两类人没有共同语言。
2、技术能力。
一个测试者必须既明白被测软件系统的概念又要会使用工程中的那些工具。要做到这一点需要有几年以上的编程经验,前期的开发经验可以帮助对软件开发过程有较深入的理解,从开发人员的角度正确的评价测试者,简化自动测试工具编程的学习曲线。
3、很强的记忆力。
一个理想的测试者应该有能力将以前曾经遇到过的类似的错误从记忆深处挖掘出来,这一能力在测试过程中的价值是无法衡量的。因为许多新出现的问题和我们已经发现的问题相差无几。
4、幽默感。在遇到狡辩的情况下,一个幽默的批评将是很有帮助的。
Ⅵ 测试方法有哪些,各有什么优缺点
1、恢复测试
恢复测试主要检查系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误并重新启动系统。恢复测试首先要采用各种办法强迫系统失败,然后验证系统是否能尽快恢复。对于自动恢复需验证重新初始化(reinitialization)、检查点(checkpointing mechanisms)、数据恢复(data recovery)和重新启动 (restart)等机制的正确性;对于人工干预的恢复系统,还需估测平均修复时间,确定其是否在可接受的范围内。
2、安全测试
安全测试检查系统对非法侵入的防范能力。安全测试期间,测试人员假扮非法入侵者,采用各种办法试图突破防线。例如,①想方设法截取或破译口令;②专门定做软件破坏系统的保护机制;③故意导致系统失败,企图趁恢复之机非法进入;④试图通过浏览非保密数据,推导所需信息,等等。理论上讲,只要有足够的时间和资源,没有不可进入的系统。因此系统安全设计的准则是,使非法侵入的代价超过被保护信息的价值。此时非法侵入者已无利可图。
3、强度测试
强度测试检查程序对异常情况的抵抗能力。强度测试总是迫使系统在异常的资源配置下运行。例如,①当中断的正常频率为每秒一至两个时,运行每秒产生十个中断的测试用例;②定量地增长数据输入率,检查输入子功能的反映能力;③运行需要最大存储空间(或其他资源)的测试用例;④运行可能导致虚存操作系统崩溃或磁盘数据剧烈抖动的测试用例,等等。
4、 性能测试
对于那些实时和嵌入式系统,软件部分即使满足功能要求,也未必能够满足性能要求,虽然从单元测试起,每一测试步骤都包含性能测试,但只有当系统真正集成之后,在真实环境中才能全面、可靠地测试运行性能系统性能测试是为了完成这一任务。性能测试有时与强度测试相结合,经常需要其他软硬件的配套支持。
Ⅶ 软件测试为什么不让编写人员参与
一款软件的开发,测试是贯彻始终的
前期的单元测试和集成测试都是由程序员来完成了
测试小组并不参与
到系统测试的时候测试元才退出测试过程,而负责修改软件缺陷.
这些缺陷往往是由测试小组发现的,因为程序员对他们的程序很了解,知道怎么操作不会出现BUG,而测试小组则不然,怎么能引出BUG他就怎么去操作,相当于找茬.只有这样才能通过最后客户的验收测试.
Ⅷ 测试工程师是程序员吗
测试工程师其实也属于程序员类别吧,只不过对编程的代码要求低.
一.过去的软件测试行业
曾经软件测试行业是一个门槛很低,入门非常简单的职业。点来点去基本就完成了测试工作然后上线!
但是效果往往大跌眼镜。
过去的软件测试行业
曾经软件测试行业是一个门槛很低,入门非常简单的职业。点来点去基本就完成了测试工作然后上线!
但是效果往往大跌眼镜。
测试有专门负责开发测试工具的,叫“开发测试”。其他的测试是开不参与开发的,所以不能算是程序员
开发是要负责写实现的,而测试是负责实现没问题。目的不同
Ⅸ 单元测试由谁来做最合适
为什么要进行单元测试? 单元测试保证局部代码的质量 单元测试在隔离的前提下,分别对各个代码单元进行测试,能够达到其他测试不可能达到的测试完整性,从而保证了局部代码的质量。只有局部代码的质量得到了保证,软件产品的质量才可能得到保证。 单元测试改良项目代码的整体结构 要对代码进行单元测试,最起码的前提是代码能够隔离,也就是说,要具有一定的可测性,因此,单元测试是一种有效的约束机制,这种机制将有效地改良代码的整体结构。例如,如果把业务代码直接写在界面类中,将很难进行单元测试,随意的不合理的紧耦合也会造成难于测试,单元测试使这些不好的特性得于及时发现,从而很容易进行修正。可测性是高质量代码的首要特性,不具有可测性,也就无法衡量代码的正确性,有了可测性,也就基本上保证了代码的可扩展性、可复用性。 单元测试降低测试、维护升级的成本 错误越早发现,修复的代价越小,另一方面,如果代码经过了充分的单元测试,集成测试和系统测试就只需要关注设计方面的问题。自动回归测试也大量降低升级维护成本。 使开发过程适应频繁变化的需求 单元测试自然地使开发流程变得“敏捷”,这是因为,整体结构良好的代码具有较好的可扩展性,自动回归测试又能保证修改不会引入新的错误,因此可以适应频繁变动的需求,降低系统分析、架构设计和后期测试的压力。 单元测试有助于提升程序员的能力 对程序员来说,单元测试有利于养成缜密的思维习惯,及提高设计能力。 由谁进行测试?开发部门还是测试部门? 应该由开发部门进行单元测试! 由测试部门进行单元测试的问题 代价高:反复的重新理解代码需要大量的时间,反复的沟通也需要大量的成本。 人手不足:进行单元测试的人员需要具备编码能力,很多软件企业的测试部门都没有足够的人手。 耽误了测试部门对其他测试的准备工作:编码阶段,测试部门要为集成测试、系统测试等做好准备,如果测试部门陷在单元测试的“泥潭”里,很可能影响这些准备工作。 由开发部门进行单元测试的问题 担心影响开发进度:这是现实问题,但自动化的单元测试工具可以解决这个问题。 程序员不习惯做单元测试:这种习惯是可以理解的,但并不难改变,实际上,程序员写程序时都是要进行测试调试的,只不过通常比较零散和随意而已。 测试自己编写的代码,难于保证测试的效果:测试自己写的代码,通常会只测试正常的输入,因此难于保证测试的完整性,但自动化的单元测试工具,可以统计白盒覆盖,甚至提供用于找出遗漏的测试用例的工具,达到很高的测试完整性。只要达到了足够的测试完整性,那么,无论谁测试,效果都是一样的。 无论由哪个部门做单元测试,都要面对一些问题,但开发部门所面对的问题可以借助工具来解决,而由测试部门进行单元测试,要么无法真正实施,要么代价昂贵。 由测试部门进行单元测试为什么成本昂贵? 需多次重复理解程序 测试人员进行单元测试时必须理解程序功能甚至代码逻辑;充分的单元测试通常会发现很多细小的错误,程序员修改代码时,又要再次理解程序。理解程序是很耗费时间的。 反复沟通需要大量时间成本 单元测试发现的错误一般是小Bug,但数量可能很多,修改错误一般由程序员进行,测试人员还要确认,这些反复沟通也需要很多的时间。 不利于发挥单元测试对代码结构的约束机制 如果等编码基本完成再由测试部门进行单元测试,也就不能及时发挥单元测试对代码整体结构的约束效果,测试部门拿到代码时,往往会发现难于测试。 耽误测试部门对其他测试的准备工作: 编码阶段,测试部门要为集成测试、系统测试等做好准备,如果测试部门陷在单元测试的“泥潭”里,很可能影响这些准备工作。 基于以上理由,即使测试部门人手充裕,仅仅从效益来考虑,也不应该由测试部门进行单元测试。如果测试部门本来就人力不充裕(进行单元测试的人员需具备编码能力),勉强由测试部门进行单元测试,结果往往是----没有结果。 由开发部门进行单元测试能保证测试效果吗? 程序员测试自己编写的代码,往往只考虑“正常状况”,这当然会影响测试效果。但如果所用的单元测试工具能够统计各种白盒覆盖率,就能检查测试效果。当然,只做到这一点还是不够的,因为白盒覆盖具有逾后逾难的特点,达到一定的覆盖率后,覆盖率的提升会很困难。如果测试工具功能足够强大,能提供工具帮助用户快速地设计测试用例,达到完整的白盒覆盖,那么测试效果就能得到完全的保证。 实际上,如果没有充分的统计数据,没有达到足够的测试完整性,那么由谁做单元测试,效果都不能保证。 进行单元测试,关键是要达到比较高的输入覆盖,这样,无论由谁测试,效果都是一样的。