软件测试的方法一共有几种
1、按是否查看程序内部结构分为:(1)黑盒测试(black-box testing):只关心输入和输出的结果 (2)白盒测试(white-box testing):去研究里面的源代码和程序结构2、按是否运行程序分为:(1)静态测试(static testing):是指不实际运行被测软件,而只是静态地检查程序代码、界面或文档可能存在的错误的过程。
静态测试包括:对于代码测试,主要是测试代码是否符合相应的标准和规范。
对于界面测试,主要测试软件的实际界面与需求中的说明是否相符。
对于文档测试,主要测试用户手册和需求说明是否真正符合用户的实际需求。
(5)动态测试(dynamic testing),是指实际运行被测程序,输入相应的测试数据,检查输出结果和预期结果是否相符的过程3、按阶段划分:(1)单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。
桩模块(stud)是指模拟被测模块所调用的模块,驱动模块(driver)是指模拟被测模块的上级模块,驱动模块用来接收测试数据,启动被测模块并输出结果。
(2)集成测试(integration testing),是单元测试的下一阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部门。
集成测试就是用来检查各个单元模块结合到一起能否协同配合,正常运行。
(3)系统测试(system testing),指的是将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。
系统测试的主要依据是《系统需求规格说明书》文档。
(4)验收测试(acceptance testing),指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序。
验收测试又分为a测试和beta测试,其中a测试指的是由用户、 测试人员、开发人员等共同参与的内部测试,而beta测试指的是内测后的公测,即完全交给最终用户测试。
4、黑盒测试分为功能测试和性能测试:1)功能测试(function testing),是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。
包括逻辑功能测试(logic function testing) 界面测试(UI testing)UI=User Interface 易用性测试(usability testing):是指从软件使用的合理性和方便性等角度对软件系统进行检查,来发现软件中不方便用户使用的地方。
兼容性测试(compatibility testing):包括硬件兼容性测试和软件兼容性测试2)性能测试(performance testing) 软件的性能主要有时间性能和空间性能两种 时间性能:主要指软件的一个具体事务的响应时间(respond time)。
空间性能:主要指软件运行时所消耗的系统资源。
软件性能测试分为:一般性能测试:指的是让被测系统在正常的软硬件环境下运行,不向其施加任何压力的性能测试。
稳定性测试也叫可靠性测试(reliability testing):是指连续运行被测系统检查系统运行时的稳定程度。
负载测试(load testing):是指让被测系统在其能忍受的压力的极限范围之内连续运行,来测试系统的稳定性。
压力测试(stress testing):是指持续不断的给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。
(Validate the system or software can allowed the biggest stress.)5、其他测试类型:回归测试(regression testing)是指对软件的新的版本测试时,重复执行上一个版本测试时的用例。
(When a new build or release is deployed, repeat all the test cases which has executed in the last build or release.) 冒烟测试(smoke testing),是指在对一个新版本进行大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。
(validate the major function is deployed or not in software of system when a new build or release is implement.) 随机测试(random testing),是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。
(means or all the test data is random, to validate the some edge bugs.)
软件测试策略和测试软件有哪些
第三,它可以做函数等的条件覆盖,黑盒;其中白盒又能按方法分,路径覆盖等,比如数据流测试策略很多。
还可以按动态和静态分,好比代码走读算静态,手动执行算动态。
还能按流程分,它可以走数据流。
各种不同的策略也不是单一存在的,看你从什么角度了。
比如按阶段分可以分单元测试,集成测试,看你做功能还是性能了。
基本都是录制回放加验证,没什么大花头,首先它是单元测试阶段,其次,系统测试;按可见度分可以分白盒,再者,它是动态测试的一种等等。
建议你去读下软件工程的书,比如不同的覆盖率:条件覆盖,是几种并存的。
好比你用Nunit做单元测试,业务流测试,它就包含了几种策略,先做一个入门。
测试软件很多...
软件测试方法?都有哪几种?
第一类测试方法是试图验证软件是“工作的”,所谓“工作的”就是指软件的功能是按照预先的设计执行的;而第二类测试方法则是设法证明软件是“不工作的”。
还有两大类:白盒法和黑盒法。
白盒法:你清楚程序的流程时,用不同的数据测试你程序的代码,验证程序的正确性,有:条件测试,路径测试,条件组合。
。
。
。
白盒法用在程序开发阶段的前期。
黑盒法:主要用于程序开发阶段的后期,即程序的流程测试正确后,测试程序的结果。
有什么因果法,边缘值法等。
具体你可以买本软件工程方面的书看看。
还有一下方法:功能测试:可接受性测试:用户界面测试:探索或开放'型的测试:性能测试:回归测试:强力测试:集成与兼容性测试:装配/安装/配置测试:国际化支持测试:本地化语言测试:这些都是测试的方法.
软件测试方法的分类有哪些
1)按照测试技术划分黑盒测试:功能测试,必须白盒测试:逻辑结构测试,代码的逻辑、算法、结构是否正确,要求必须懂得代码,需要编写测试用例,可选灰盒测试:介于中间注意:在单元测试时,白盒应用相对较多,在集成测试时,灰盒测试应用相对较多,在系统、验收测试时一般就不会使用白盒测试和灰盒测试了。
2)按是否需要运行代码划分静态测试:界面测试,文档测试,代码测试【重点关注代码的规范性,一般检查变量的命名,注释的频率,编程的规范性,不需要写测试用例,一般只需要有代码审查单】注意:一般经常把白盒测试和静态测试的要素结合在一起,形成静态白盒测试动态测试:运行程序进行检查,检查实际输出结果和预期结果是否相符3)按软件特性分类功能测试性能测试
软件测试方法有哪些?
软件测试方法一般分为两大类:动态测试方法和静态测试方法。
1、静态测试是指被测程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。
动态测试是指通过运行程序发现错误。
一般意义的测试多指动态测试。
2、动态测试分为黑盒法和白盒法两种。
(1)黑盒法,是指测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。
这个猪是健康的,正常的。
我们的测试不去理会猪的内部有什么花花肠子,怎么把食物变成肉的。
这就是黑盒测试法。
(2)白盒法,是指测试人员须了解程序内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
软件测试学习方法?
介绍一下软件测试:实际软件测试要求要高于软件开发,不仅要懂开发技术,还要懂得设计技术,测试技术,做到高级测试的话,水平要在高级开发之上;当前国内情况:软件测试基本是用开发水平比较低的人,有些甚至都不懂开发技术,主要是成本考虑(测试薪水比较低,所以要求自然比较低),大部分是一些刚毕业的,或在大专生之类的,测试时间也很短,基本就是一个形式(主要为接项目时有利),大部分测试由开发人员完成;目前主要一些外企有高水平的专业测试队伍,国内一些比较强的公司有部分专业测试队伍(水平也不是很高,但比较专业了);以后国内软件业必须逐步向国际水准看齐,所以软件测试是有潜力的;测试学习:1、基本编程能力(可通过学习一门语言,比如C语言,同时要学习数据结构、基本数据库技术);2、编程语言学习;(C、C++、C#、Java等,至少要2种)3、操作系统原理(有关内存分配、进程、线程原理等)、操作系统应用(Windows、Linux/Unix 都要了解);4、数据库技术、重要数据库应用(SQL Service、Orical、DB2、MySQL等)5、测试工具(自动化测试工具,好多,了解2种以上)6、测试管理(有了前面技术,这个管理类东西,几天就可以了解,但要完全懂,需要长期实践,就像项目经理一样,看起来简单,实际上需要许多经验,需要不断学习)
测试策略和测试计划的区别?
区别在于:测试策略相当于指导思想,测试计划相当于实践方法。
详细区别:测试计划定义:”一个叙述了预定的测试活动的范围、途径、资源及进度安排的文档。
它确认了测试项、被测特征、测试任务、人员安排,以及任何偶发事件的风险。
”内容:产品概述、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等。
注意项:1. 明确测试的目标,增强测试计划的实用性;2. 坚持“5W”规则,明确内容与过程。
利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where);3. 采用评审和更新机制,保证测试计划满足实际需求;4. 分别创建测试计划与测试详细规格、测试用例。
测试策略定义:在一定的软件测试标准、测试规范的指导下,依据测试项目的特定环境约束而规定的软件测试的原则、方式、方法的集合。
内容:实施的测试类型和测试的目标、实施测试的阶段、技术、用于评估测试结果和测试是否完成的评测和标准、对测试策略所述的测试工作存在影响的特殊事项等内容。
注意项:a.基于测试技术的测试策略的要点:著名测试专家给出了使用各种测试方法的综合策略:任何情况下都必须使用边界值测试方法;必要时使用等价类划分方法补充一定数量的测试用例;对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,看是否达到了要求;如果程序功能规格说明中含有输入条的组合情况,则已开始可以选择因果图方法。
b.基于测试方案的测试策略:对于基于测试方法的测试策略,一般来说应该考虑如下方面:根据程序的重要性和一旦发生故障将造成的损失来确定它的测试等级和测试重点;认真研究,使用尽可能少的测试用例发现尽可能多的程序错误,避免测试过度和测试不足。
按测试步骤和策略来分的软件测试种类有?
BVT (Build Verification Test) BVT是在所有开发工程师都已经检入自己的代码,项目组编译生成当天的版本之后进行,主要目的是验证最新生成的软件版本在功能上是否完整,主要的软件特性是否正确。
如无大的问题,就可以进行相应的功能测试。
BVT优点是时间短,验证了软件的基本功能。
缺点是该种测试的覆盖率很低。
因为运行时间短,不可能把所有的情况都测试到。
Scenario Tests(基于用户实际应用场景的测试) 在做BVT、功能测试的时候,可能测试主要集中在某个模块,或比较分离的功能上。
当用户来使用这个应用程序的时候,各个模块是作为一个整体来使用的,那么在做测试的时候,就需要模仿用户这样一个真实的使用环境,即用户会有哪些用法,会用这个应用程序做哪些事情,操作会是一个怎样的流程。
加了这些测试用例后,再与BVT、功能测试配合,就能使软件整体都能符合用户使用的要求。
Scenario Tests优点是关注了用户的需求,缺点是有时候难以真正模仿用户真实的使用情况。
Smoke Test 在测试中发现问题,找到了一个Bug,然后开发人员会来修复这个Bug。
这时想知道这次修复是否真的解决了程序的Bug,或者是否会对其它模块造成影响,就需要针对此问题进行专门测试,这个过程就被称为Smoke Test。
在很多情况下,做Smoke Test是开发人员在试图解决一个问题的时候,造成了其它功能模块一系列的连锁反应,原因可能是只集中考虑了一开始的那个问题,而忽略其它的问题,这就可能引起了新的Bug。
Smoke Test优点是节省测试时间,防止build失败。
缺点是覆盖率还是比较低。
此外,Application Compatibility Test(兼容性测试),主要目的是为了兼容第三方软件,确保第三方软件能正常运行,用户不受影响。
Accessibility Test(软件适用性测试),是确保软件对于某些有残疾的人士也能正常的使用,但优先级比较低。
其它的测试还有Functional Test(功能测试)、Security Test(安全性测试)、Stress Test(压力测试)、Performance Test(性能测试)、Regression Test(回归测试)、Setup/Upgrade Test(安装升级测试)等。
软件测试流程包括哪些不同的测试方法?
分为五步 第一根据需求分析制定测试计划 第二根据开发人员的详细设计说明书设计测试策略和测试用例 第三开发人员编写好一个小的模块后我们就可以执行测试用例。
同时填写缺陷报告 第四对测试作总结 第五验收测试,同时编写用户手册
转载请注明出处51数据库 » 软件测试策略和方法有哪些
石林22632073