软件测试的主要工作内容是什么?

如题所述

软件测试员的主要工作内容是根据测试计划和测试方案进行软件测试;能够针对软件需求开发测试模型,制定测试方案,安排测试计划,并对测试项目进行管理。

软件测试主要工作内容是验证(verification)和确认(validation)。

验证(verification)是保证软件正确地实现了一些特定功能的一系列活动, 即保证软件以正确的方式来做了这个事件。

确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件做了你所期望的事情。


扩展资料:

软件测试的专业优势:

1、就业竞争小

人才供不应求让软件测试人员的就业竞争压力明显小于同类其它职业,有利于从业者的身心健康。

另外,由于软件测试在我国起步较晚,独立设置测试部门、对测试人员有强烈需求的多为独具慧眼的大中型IT企业。软件测试人才不需要在小企业积累经验就能获得知名企业的入门通行证,工作起点高于同类其它职业。

2、高薪

刚入行的软件测试人员,起步的月薪就在7000-15000元左右,平均薪资8000/月以上,随着工作经验的丰富以及能力的提升,这份薪水将一路看涨。

3、就业质量高

与其他IT职位相比,软件测试人员最大的优势就是发展方向太多了。由于工作的特殊性,测试人员不但需要对软件的质量进行检测,而且对于软件项目的立项、管理、售前、售后等领域都要涉及。

在此过程中,测试人员不仅提升了专业的软件测试技能,还能接触到各行各业,从而为自己的多元化发展奠定了基础。

4、无性别歧视

如果把软件开发领域比作“男子单打”,那么,软件测试领域就是“混合双打”。由于工作的特殊性,软件测试人员更要具有认真、耐心、细致、敏感等个性元素,而这在一定程度上与女性的个性气质相吻合。

据了解,很多IT企业中软件测试人员的比例更趋向男女平衡,甚至出现女性员工成主流的情况。

参考资料来源:百度百科-软件测试

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-17

软件测试描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

软件测试主要工作内容是验证和确认,验证是保证软件正确地实现了一些特定功能的一系列活动, 即保证软件以正确的方式来做了这个事件

1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程。

2.程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程。

3.评审、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。确认是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件做了你所期望的事情。

4.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性。

5.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期间各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。

软件测试工作流程:

1、需求分析、需求评审

需求分析和评审就是分析客户的需求可不可行,需要怎么进行测试。

2、编写测试计划

编写测试计划通俗一点讲就是什么人在什么时间做什么事,最后产出什么东西。那也就是测试人员要测试哪些模块、在什么期限内,提交哪些文档。

3、编写测试用例、用例评审

测试用例就是指导测试的文档,比如我们要测试商城登录、买东西等功能,通过测试方法和策略设计测试用例。

评审就是评价审查,不能想当然该怎么测。不能只是输入正确的用户名和密码,能登录进去就完事了。作为软测工程师需要有破坏性,比如密码输错时怎么办?会不会有相应的报错等等?

4、执行测试、提交bug、回归测试

Bug就是缺陷,发现bug之后,要提交给开发人员让他们去修改,然后进行回归测试,验证开发人员有没有改好。

5、编写测试总结报告

Bug都改好了之后,要编写测试总结报告,这款软件的质量如何。

第2个回答  推荐于2017-06-02
不论是对软件的模块还是整个系统,总有共同的内容要测试,如正确性测试,容错性测试,性能与效率测试,易用性测试,文档测试等。“白盒测试”是指开发人员从程序内部对上述内容进行测试,而“黑盒测试”是指独立的测试人员从程序外部对上述内容进行测试。

1 正确性测试

正确性测试又称功能测试,它检查软件的功能是否符合规格说明。由于正确性是软件最重要的质量因素,所以其测试也最重要。
基本的方法是构造一些合理输入,检查是否得到期望的输出。这是一种枚举方法。倘若枚举空间是无限的,那可惨了,还不如回家种土豆有盼头。测试人员一定要设法减少枚举的次数,否则没好日子过。关键在于寻找等价区间,因为在等价区间中,只需用任意值测试一次即可。等价区间的概念可表述如下:
记(A, B)是命题f(x) 的一个等价区间,在(A, B)中任意取x1进行测试。
如果f (x1) 错误,那么f (x) 在整个(A, B)区间都将出错。
如果f (x1) 正确,那么f (x) 在整个(A, B)区间都将正确。
上述测试方法称为等价测试,来源于人们的直觉与经验,可令测试事半功倍。
还有一种有效的测试方法是边界值测试。即采用定义域或者等价区间的边界值进行测试。因为程序员容易疏忽边界情况,程序也“喜欢”在边界值处出错。
例如测试 的一段程序。凭直觉等价区间应是(0, 1)和(1, +∞)。可取x=0.5以及x=2.0进行等价测试。再取 x=0以及x=1进行边界值测试。
有一些复杂的程序,我们难以凭直觉与经验找到等价区间和边界值,这时枚举测试就相当有难度。
在用“白盒测试”方式进行正确性测试时,有个额外的好处:如果测试发现了错误,测试者(开发人员)马上就能修改错误。越早改正错误,付出的代价就越低。所以大多数软件公司要求程序员在写完程序时,马上执行基于单步跟踪的“白盒测试”。

2 容错性测试

容错性测试是检查软件在异常条件下的行为。容错性好的软件能确保系统不发生无法意料的事故。
比较温柔的容错性测试通常构造一些不合理的输入来引诱软件出错,例如:
(1)输入错误的数据类型,如“猴”年“马”月。
(2)输入定义域之外的数值,上海人常说的“十三点”也算一种。
粗暴一些的容错性测试俗称“大猩猩”测试,除了不能拳打脚踢嘴咬,什么招术都可以使出来。这里我举不出例子,因为我没有对程序粗暴过,并且这辈子也不打算学会粗暴。

3 性能与效率测试

性能与效率测试主要是测试软件的运行速度和对资源的利用率。有时人们关心测试的“绝对值”,如数据送输速率是每秒多少比特。有时人们关心测试的“相对值”,如某个软件比另一个软件快多少倍。
在获取测试的“绝对值”时,我们要充分考虑并记录运行环境对测试的影响。例如计算机主频,总线结构和外部设备都可能影响软件的运行速度;若与多个计算机共享资源,软件运行可能慢得像蜗牛爬行。
在获取测试的“相对值”时,我们要确保被测试的几个软件运行于完全一致的环境中。硬件环境的一致性比较容易做到(用同一台计算机即可)。但软件环境的因素较多,除了操作系统,程序设计语言和编译系统对软件的性能也会产生较大的影响。如果是比较几个算法的性能,就要求编程语言和编译器也完全一致。
性能与效率测试中很重要的一项是极限测试,因为很多软件系统会在极限测试中崩溃。例如,连续不停地向服务器发请求,测试服务器是否会陷入死锁状态不能自拔;给程序输入特别大的数据,看看它是否吃得消。

4 易用性测试

易用性测试没有一个量化的指标,主观性较强。调查表明,当用户不理解软件中的某个特性时,大多数人首先会向同事、朋友请教。要是再不起作用,就向产品支持部门打电话。只有30%的用户会查阅用户手册。[Cusumano 1995]
一般认为,如果用户不翻阅手册就能使用软件,那么表明这个软件具有较好的易用性。

5 文档测试

文档测试主要检查文档的正确性、完备性和可理解性。好多人甚至不知道文档是软件的一个组成部分。
正确性是指不要把软件的功能和操作写错,也不允许文档内容前后矛盾。
完备性是指文档不可以“虎头蛇尾”,更不许漏掉关键内容。有些学生在证明数学题时,喜欢用“显然”两字蒙混过关。文档中很多内容对开发者可能是“显然”的,但对用户而言不见得都是“显然”的。

文档不可以写成散文、诗歌或者侦探、言情小说,要让大众用户看得懂,能理解。
很多程序员能编写出好程序,却写不出清晰的文档。不要说自己以前语文学得差,现在已没救了,找借口不是办法。没有人天生就能写出好程序,都是练出来的。同理,若第一次写不好文档,就多写几次文档,慢慢地就会写出好文档来。我上大学前不会说普通话,不会写作文,现在我极能说会写,当个秘书或书记已绰绰有余。本回答被网友采纳
第3个回答  2019-01-29
软件测试都学习什么?你至少得学会一门语言。会一门编程语言是必要,会哪一门取决于你用的工具类型。QTP用VBS,Selenium用的比较多java/C#/ruby/python等,SilkTest用java/4test。软件测试课程就安排了Python、Java的编程语言学习,适合没有基础的人学习。
对于自学的人而言,你要知道:
好高骛远是许多初学者的通病,总幻想自己发疯似地努力几天或几个月就成为"高手",正是由于自己的这种好高骛远的"雄心壮志",往往给自己定下一些不切合实际的太多的目标,比如:"这个月学汇编,下个月学C语言,再下个月学C++,然后进入VC++集成开发环境做开发。",结果到头来经过几个月的努力,却发现与原定的目标相去甚远,激情和信心也没有了,而且什么都没学好。
其实并不是因为你笨,学习能力不强,而是太心急了,看看身边的高手们,哪一个不是至少有几年功力的酝酿的?如果你觉得自己很聪明,但请记住这句话:"天下的聪明人太多了,你想在三到五年就把别人十年做的事情做一遍,那你也一定会把别人在十年中所受的苦难在这三到五年中经历一遍。"
首先你要明白为什么要学软件测试。软件测试的重点是什么。然后在去了解市场上的软件测试培训机构各自的优劣势,比如他是不是软件测试擅长专业(很多机构之前擅长培训其他,如语言,然后后面看到同行做再加入的测试),开班多久,毕业学员的情况,价格,相应政策,活动等多维度比较,选择适合自己,或自己较为满意的。
很多机构可以参观试学习的,可去体验,然后向正在机构内的学员多打听下。也可以在论坛或群里向毕业的学生了解。总之,不要太相信机构的宣传和学员的回馈评价,因为都是片面的,要学会多比较分析,适合自己的才是最好的。
第4个回答  2011-10-28
假如你从事的是功能测试,那么需要掌握bug管理工具的使用,例如Bugzilla、TestDirector、Bugfree等等。如果公司使用工具来管理用例,建议你研究一下TestLink的方法。当然你还必须具备编写测试用例、测试总结报告、测试计划的能力,功能测试主要考察耐心、细心还有文档的编辑能力。
假如你从事的是自动化测试,那么需要掌握一些工具,例如QTP。
假如你从事的是性能测试,那么需要掌握性能测试工具,例如LoadRunner、WinRunner等等。
个人觉得软件测试一考察细心及发现问题的能力,二考察工具的使用,三就是经验的累积。
但软件测试都是建立在编程之上的
相似回答