![[��ǩ:����] [��ǩ:����]](https://www.xuefen.net//file/upload/img/7/256.jpg)
软件测试的原则如下:
1、测试显示缺陷的存在。
测试可以显示缺陷的存在,但不能证明系统不存在缺陷。测试可以减少软件中存在缺陷的可能性,但即使测试没有发现任何缺陷,也不能证明软件或系统是完全正确的,或者说是不存在缺陷的。
2、穷尽测试是不可能的。
穷尽测试是不可能的,当满足一定的测试出口准则时测试就应当终止。考虑到所有可能输入值和它们的组合,以及结合所有不同的测试前置条件,这是一个天文数字,我们没有可能进行穷尽测试。
3、杀虫剂悖论。
测试用例需要经常的评审和修改,不断增加新的不同的测试用例来测试软件或系统的不同部分,保证测试用例永远是最新的,即包含着最后一次程序代码或说明文档的更新信息。
4、测试的尽早介入。
软件测试人员要尽早地且不断地进行软件测试,以提高软件质量降低软件开发成本。
软件测试:
是伴随着软件的产生而产生的。早期的软件开发过程中软件规模都很小、复杂程度低,软件开发的过程混乱无序、相当随意,测试的含义比较狭窄,开发人员将测试等同于“调试”,目的是纠正软件中已经知道的故障,常常由开发人员自己完成这部分的工作。
软件测试的原则如下:
1、所有的软件测试都应追溯到用户需求。
2、尽早和不断地进行软件测试。
3、在设计测试用例时,应该包括合理的输入与不合理的输入以及相应的预期的输出结果。
4、充分注意测试中的群集现象。
5、程序员应避免检查自己的程序。
6、尽量避免测试的随意性。
7、应当对每个测试结果做全面的检查。
8、保留测试文档,包括测试计划、用例、出错统计和最终分析报告。
测试原则:
对计算机软件进行测试前,首先需遵循软件测试原则,即不完全原则的遵守。不完全原则即为若测试不完全、测试过程中涉及免疫性原则的部分较多,可对软件测试起到一定帮助。
因软件测试因此类因素具有一定程度的免疫性,测试人员能够完成的测试内容与其免疫性成正比,若想使软件测试更为流畅、测试效果更为有效。
软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。
换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
软件测试原则如下:
1)完全测试程序是不可能的
这点比较好理解,例如纸杯,需要验证其可承载温度。如果每个温度都测试,输入就太多了,也完全没有这个必要对吧。
测试多少需要依据产品特性和人力成本进行设计,此部分将在测试设计部分进一步讲解
2)软件测试是有风险的行为
既然完全测试程序是不可能的,那就难以确保缺陷能被及时发现:
A、软件设计来源于产品特性和人力成本,对产品特性的不了解,对人力资源的依赖都会影响软件设计的全面性;
B、即使有了全面的软件设计,在执行时,也可能受测试环境和测试人力的影响而难以执行。
3)测试无法显示潜伏的软件缺陷
由于项目进行的是有限的测试,已测试部分发现的缺陷情况,无法预知未测试部分的潜伏缺陷数量。就好比进行纸杯的兼容性测试,装水时发现不漏水,并不代表装其他碱性/酸性液体时也不漏水。
4)找到的软件缺陷越多,说明软件存在的缺陷越多
这个好理解,有限的测试,即便是随机抽查,发现的缺陷越多,说明整个系统存在的缺陷越多。
5)软件测试越多,其对测试的免疫力越强
这里指的是同样的方法进行重复测试,越到后面越难发现缺陷,因为缺陷都基本被修改了,因此我们的测试方法需要迭代更新,才能发现新的缺陷。
6)没有必要修复所有的缺陷
首先测试是无法穷尽的,即使修复完了已暴露出来的缺陷,未被发现的缺陷也是无法修复的;
已发现的缺陷,可能也会受人力成本,技术瓶颈等原因而进行不解决处理。但是,即使最终决定不解决处理,也要做好问题记录,说明不解决的原因。
7)软件需求频繁变更
行业发展太快,产品需求迭代更新速度也快,经常会出现产品还未生产出来,市场需求已经变更,此时如果继续生产已过时的需求,将会面临产品没有竞争力的风险。
因此,我们需要拥抱变更,要跟上市场的步伐,实时调整产品策略,测试域也需要灵活调整测试策略。
1. 确认软件设计是否依从于软件需求,且软件的每一项需求是否能跟踪到软件设计。
2. 确认状态顺序和状态变化( 功能模块图)。
3. 确认数据和控制流满足安全性、功能性和性能需求。
4. 确认软件的功能性,硬件、软件和用户接口的一致性,性能准则,配置数据是否满足规定的配置管理规程,逻辑、计算和接口精度是否满足系统环境下的需求。
5. 确认待测试软件版本,必须是通过模块测试和集成测试后的软件。
6. 测试所需的配置脚本需与软件源代码版本保持一致性。
确认测试能根据软件产品委托方提供的开发需求文档等资料对软件工程项目进行验证,检测软件产品架构是否满足在各种专用测试设备上、针对不同型号被测软件产品的测试运行速度、并发数、内部的组织结构、组件类别与职责、接口规范、交互方式、组件开发方法,软件扩展和修改等高质量开发的需求是否符合开发文件要求。
确认测试的结果有两种可能,一种是功能和性能指标满足软件需求说明的要求,用户可以接受;另一种是软件不满足软件需求说明的要求,用户无法接受。项目进行到这个阶段才发现严重错误和偏差一般很难在预定的工期内改正,因此必须与用户协商,寻求一个妥善解决问题的方法。根据测试结果形成《软件产品确认测试报告》。
软件企业确认测试的重要意义:
确认测试完成后出具的《软件确认测试报告》能作为申报国家、省、市 科技 成果奖的技术鉴定依据、企业申请的《中小企业创新》、《 科技 项目验收》、《 科技 成果鉴定》、《自主创新产品认定》等提供有力的证明。
1、尽早不断测试的原则
应当尽早不断地进行软件测试。据统计约60%的错误来自设计以前,并且修正一个软件错误所需的费用将随着软件生存周期的进展而上升。错误发现得越早,修正它所需的费用就越少。
2、IPO原则
测试用例由测试输入数据和与之对应的预期输出结果这两部分组成。
3、独立测试原则
独立测试原则。软件测试工作由在经济上和管理上独立于开发机构的组织进行。程序员应避免检査自己的程序,程序设计机构也不应测试自己开发的程序。软件开发者难以客观、有效地测试自己的软件,而找出那些因为对需求的误解而产生的错误就更加困难。
合法和非合法原则。在设计时,测试用例应当包括合法的输入条件和不合法的输入条件。
错误群集原则。软件错误呈现群集现象。经验表明,某程序段剩余的错误数目与该程序段中已发现的错误数目成正比,所以应该对错误群集的程序段进行重点测试。
严格性原则。严格执行测试计划,排除测试的随意性。
覆盖原则。应当对每一个测试结果做全面的检查。
定义功能测试原则。检查程序是否做了要做的事仅是成功的一半,另一半是看程序是否做了不属于它做的事。
回归测试原则。应妥善保留测试用例,不仅可以用于回归测试,也可以为以后的测试提供参考。
错误不可避免原则。在测试时不能首先假设程序中没有错误。
扩展资料
编写软件测试计划要避免一种不良倾向是测试计划的“大而全”,无所不包,篇幅冗长,长篇大论,重点不突出,既浪费写作时间,也浪费测试人员的阅读时间。“大而全”的一个常见表现就是测试计划文档包含详细的测试技术指标、测试步骤和测试用例。
最好的方法是把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。
测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。
测试资源的变更是源自测试组内部的风险而非开发组风险,当测试资源不足或者冲突,测试部门不可能安排如此多的人手和足够时间参与测试时,在测试计划中的控制方法与测试时间不足相类似。
参考资料来源:百度百科-软件测试方法
参考资料来源:百度百科-软件测试计划
软件测试的目的;在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估。
准则:对计算机软件进行测试前,首先需遵循软件测试原则,即不完全原则的遵守。不完全原则即为若测试不完全、测试过程中涉及免疫性原则的部分较多,可对软件测试起到一定帮助。
因软件测试因此类因素具有一定程度的免疫性,测试人员能够完成的测试内容与其免疫性成正比,若想使软件测试更为流畅、测试效果更为有效,首先需遵循此类原则,将此类原则贯穿整个开发流程,不断进行测试,而并非一次性全程测试。
测试方法:
1、静态测试方法
软件代码的静态分析测验,此类过程中应用数据较少,主要过程为通过软件的静态性测试(即人工推断或计算机辅助测试)测试程序中运算方式、算法的正确性,进而完成测试过程,此类测试的优点在于能够消耗较短时间、较少资源完成对软件、软件代码的测试,能够较为明显地发现此类代码中出现的错误。
2、动态测试
计算机动态测试的主要目的为检测软件运行中出现的问题,较静态测试方式相比,其被称为动态的原因即为其测试方式主要依赖程序的运用,主要为检测软件中动态行为是否缺失、软件运行效果是否良好。
3、黑盒测试
通过数据输入观察数据输出,检查软件内部功能是否正常。测试展开时,数据输入软件中,等待数据输出。数据输出时若与预计数据一致,则证明该软件通过测试,若数据与预计数据有出入,即便出入较小亦证明软件程序内部出现问题,需尽快解决。
4、白盒测试
白盒测试相对于黑盒测试而言具有一定透明性,原理为根据软件内部应用、源代码等对产品内部工作过程进行调试。测试过程中常将其与软件内部结构协同展开分析,最大优点即为其能够有效解决软件内部应用程序出现的问题,测试过程中常将其与黑盒测试方式结合,当测试软件功能较多时,白盒测试法亦可对此类情况展开有效调试。
扩展资料
软件测试工具
开源测试管理工具:Bugfree、Bugzilla、Testlink、mantis zentaopms。
开源功能自动化测试工具:Watir、Selenium [1] 、MaxQ、WebInject。
开源性能自动化测试工具:Jmeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator。
其他测试工具与框架:Rational Functional Tester、Borland Silk系列工具、WinRunner、Robot等。
禅道测试管理工具:功能比较全面的测试管理工具,功能涵盖软件研发的全部生命周期,为软件测试和产品研发提供一体化的解决方案。是一款优秀的国产开源测试管理工具。
Quality Center:基于Web的测试管理工具,可以组织和管理应用程序测试流程的所有阶段,包括指定测试需求、计划测试、执行测试和跟踪缺陷。
QuickTest Professional:用于创建功能和回归测试。
LoadRunner:预测系统行为和性能的负载测试工具。
国内免费软件测试工具有:AutoRunner和TestCenter。
参考资料来源:百度百科-软件测试技术
参考资料来源:百度百科-软件测试
以上就是小编整理的软件测试的原则是什么?全部内容了,欢迎大家留言讨论。访问学分高考了解更多相关话题

微信扫码关注公众号
获取更多考试热门资料