什么是软件测试?

如题所述

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

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

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

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

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-07-30
软件测试定义是:为了发现程序中的错误而执行程序的过程

它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 、完全度(completeness)和质量(quality)的软件过程;是SQA(software quality assurance)的重要子域。

软件测试的目标:

(1)测试是为了发现程序中的错误而执行程序的过程;

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;

(3)成功的测试是发现了至今为止尚未发现的错误的测试。

软件测试的内容:

软件测试主要工作内容是验证(verification)和确认( validation ),下面分别给出其概念:

验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。(Do the right thing)

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

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

3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。

确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right)

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

2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。

软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期问各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。

从不同的角度出发,软件测试可以划分为不同的分类:

从是否关心软件内部结构和具体实现的角度划分

A.白盒测试

B.黑盒测试

C.灰盒测试

从是否执行程序的角度

A.静态测试

B.动态测试。

从软件开发的过程按阶段划分有

A.单元测试

B.集成测试

C.确认测试

D.验收测试

E.系统测试本回答被提问者和网友采纳
第2个回答  2020-03-24
什么是软件测试?

顾名思义,就是在规定的条件下对一个产品或程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
通俗来讲,软件测试是保障软件质量全过程的集合。
软件质量会根据产品、行业、阶段不同而有所变化,所以测试应该覆盖软件的整个生命周期,比如调研、需求、设计、研发、测试、上线、运维等。
敲黑板,软件测试要贯穿产品整个生命周期,而非大家浅显理解的开发完后简单测试的那一段小过程。
另外,所有为了保障软件质量的工作,测试人员都应该积极主动的参与,比如前期的市场调研、竞品分析、用户画像;后期的线上运维配置、环境配置、业务监控等等。
测试早就不再是大家认知的功能性测试,而是需要具备更多的专业技能,比如自动化测试、性能测试、手工测试等等。
第3个回答  2019-08-29
到底什么是软件测试,为什么需要软件测试。对于我这个跨入软件测试的小白的人来说,我也有过这些疑问,也上网去查过很多资料,大家也是众说纷纭,我也向身边的开发朋友咨询了很多,他们也给我讲了关于什么是软件测试的概念和例子。关于软件测试,目前定义混杂,没有统一的标准,但是最经典的定义是:在规定的条件下对程序进行操作,以发现错误,对软件质量进行评估的过程。用我的理解我是这样总结的:软件测试就是为了发现程序中的错误,将开发人员的软件进行测试,如果发现程序有bug,就将软件返回给开发人员。在别人给我的认知中,我一直觉得测试的技术难度没有开发技术难度高。可是认识叱老师后,他传达给我的想法和理念让我耳目一新。我在这篇文章给大家分享一下。 那么到底什么是软件测试呢? 软件测试是为了发现程序中的错误,依据产品需求分析软件的全过程;保证软件研发过程中文档质量的过程;分析错误的产生原因和发生趋势,提出研发过程改进意见;未发现错误的测试也有价值,测试是评定软件质量的有效方法,软件测试是软件研发的一部分,不只是找出软件错误的活动,更是软件研发每一环节中一系列质量活动的总称,包括研发过程改进,和软件质量评定,软件测试人员是需要参与研发流程每一环节的关键角色。 那么我们为什么需要软件测试? 这个回答肯定大家也是众说纷纭。那么为什么需要软件测试呢?因为开发过程缺乏有效的沟通;软件复杂度越来越高;编程中产生错误;需求不断变更;开发对需求的分析不到位。这些是我从叱老师那里取的经,不知道大家有什么想法。 开发和测试是相辅相成的,大家只是在不同的岗位针对的点面不同。永远没有测试比开发低等之说。开发好比是学生,测试好比是老师。学生在自己辛苦努力写完自己作业后,觉得自己写的很完美,应该不会出错,但是当作业交给老师以后,老师就在作业上面进行批错与批注并将作业给学生让学生改完作业后继续将作业交回直到没有错误。当然也有作业写的好的学生老师一次通过,也不需要再去进行改错。这个例子是我想的最浅显易懂的例子,应该大家都能看懂,表达的也可能不是很全面,但是基本上就是这样。所以测试人员的技术要求也是很高的,他不仅要求我们测试基础扎实,更要求我们的代码写作能力,文档写作能力,快速学习需求能力。
总之希望大家都能在理想领域实现择优就业
第4个回答  2019-08-09
主要是通过软件测试这一步骤去查找发现预期效果和实际效果的区别和问题,对软件进行评估衡量是否能够满足设计的要求和特点。
说通俗一点就是为了找出软件里面有没有bug,比如我开发了一个购物的软件,然后我在里面买东西,发现不用付款就可以结账成功,然后大量的人通过这个渠道买东西造成了公司大量损失。软件测试的作用就是去发现并指出问题的一个职业,对一个好的软件测试员来说,一个软件有很多的地方需要去测试,不仅是会造成损失的要测试、影响客户体验的也需要测试指出。
软件测试主要是要细,一个软件往往大错误就不不多,最多的就是小错误小毛病。
测试软件岗位主要适合于大部分IT开发,现在软件测试也是一个发展比较快的东西,在未来潜力也是比较大的。