软件测试分类、方法和常用工具
常用的软件测试方法

常用的软件测试方法软件测试在软件开发过程中扮演着至关重要的角色,通常为了确保软件质量,开发团队会组织专门的测试组来确保软件质量,在测试过程中发现和纠正错误、提高软件质量。
通过测试,可以识别并修复潜在的问题,测试有助于确保软件在不同的情况下正常工作,从而提高软件的质量和可靠性,符合用户的预期和需求。
常用的测试方法包括:静态测试、黑盒测试、白盒测试、性能测试、安全测试、兼容性测试、用户界面测试、回归测试、接口测试、故障注入测试。
1.静态测试:通过人工检查和评估软件代码的过程。
团队成员对代码进行检查,以发现潜在的错误、不一致性和低效率的代码。
这可以通过代码走查会议、代码对比工具和代码静态分析工具来完成。
以下是静态测试的几种常见方法:a)代码走查会议:团队成员在会议中一起检查代码,通过讨论和分享经验来发现潜在的问题。
参与者可以提出问题、提供建议和意见,并确保代码符合规范和最佳实践。
b)代码对比工具:使用代码对比工具可以比较不同版本的代码或不同分支的代码,以检测代码的变更和差异。
这有助于发现潜在的错误和冲突,并确保代码的一致性和正确性。
c)代码静态分析工具:静态分析工具通过分析代码的结构、语法和语义来检测潜在的问题和错误。
这些工具可以自动化地扫描代码,并提供警告、建议或错误信息,帮助开发人员发现可能存在的问题。
静态测试的主要优势在于可以在早期阶段发现问题,并且相对于动态测试来说,成本更低。
它可以帮助团队成员共同审查代码,分享经验和知识,提高代码质量和可维护性。
然而,静态测试也有一些局限性。
它主要关注于代码本身,无法覆盖代码在运行时的实际行为。
因此,静态测试通常需要与其他测试方法(如动态测试)结合使用,以获得更全面的测试覆盖和保证软件质量。
2.黑盒测试:黑盒测试的测试方法:是由一些非编码人员根据《需求规格说明书》的要求对打包好的软件进行测试环境部署、模仿使用,以发现软件中的问题。
黑盒测试包括安装测试、功能测试、组装测试、压力测试、集成环境测试五种。
软件测试中的测试方法与工具

软件测试中的测试方法与工具在软件开发的过程中,软件测试起着重要的作用。
软件测试是为了保证软件的质量和稳定性,确保软件能够正常运行。
在软件测试中,有许多不同的测试方法和工具可以使用,这些方法和工具可以帮助开发团队更加高效地进行软件测试,提高软件的质量。
本文将重点介绍软件测试中常用的测试方法与工具。
一、黑盒测试方法黑盒测试方法是一种测试方法,它基于对软件的功能和需求的分析,而不考虑软件的内部结构和实现细节。
常见的黑盒测试方法包括等价类划分、边界值分析、决策表等。
等价类划分是将测试用例分组为等价类,然后选择代表性的测试用例进行测试。
边界值分析是测试边界值附近的测试用例,以检测边界条件是否正确处理。
决策表是通过列出所有可能的输入组合和相应的输出结果来设计测试用例。
这些黑盒测试方法可以有效地测试软件的功能是否符合需求。
二、白盒测试方法白盒测试方法是一种测试方法,它基于对软件内部结构和代码的分析,测试人员需要具备一定的编程和代码理解技能。
白盒测试方法包括语句覆盖、分支覆盖、路径覆盖等。
语句覆盖是测试用例中是否覆盖了所有的代码语句。
分支覆盖是测试用例中是否覆盖了所有的判断和选择分支。
路径覆盖是测试用例中是否覆盖了所有可能的执行路径。
白盒测试方法可以帮助开发人员发现代码中的错误和缺陷,提高代码的质量。
三、性能测试工具性能测试是一种测试方法,用于测试软件在不同负载和压力下的性能和稳定性。
常用的性能测试工具包括LoadRunner和JMeter等。
这些工具可以模拟多个用户同时访问软件,并记录软件的响应时间、吞吐量等指标。
通过性能测试,可以评估软件在实际使用情况下的性能表现,并找出性能瓶颈和问题。
四、自动化测试工具自动化测试是一种测试方法,用于通过编写脚本和使用相应的工具来实现对软件的自动化测试。
常用的自动化测试工具包括Selenium和Appium等。
这些工具可以模拟用户的操作,自动执行测试用例,并生成测试报告。
自动化测试可以帮助测试人员节省时间和精力,提高测试的效率和准确性。
软件测试方法与工具

软件测试方法与工具软件测试是软件开发过程中至关重要的一环,它是为了评估软件的质量和准确性而进行的一系列活动。
在软件开发的不同阶段,通过运用不同的测试方法和工具,可以有效提高软件的可靠性和稳定性。
本文将介绍一些常用的软件测试方法和工具,并探讨它们的应用。
一、黑盒测试黑盒测试是一种基于软件的功能需求和规格说明进行测试的方法。
测试人员在不知道软件内部结构和代码的情况下,通过输入有效和无效的数据,检查软件的输出是否符合预期。
黑盒测试主要用于验证软件是否满足给定的功能要求。
常用的黑盒测试方法包括等价类划分、边界值分析、决策表等。
其中,等价类划分是将所有可能的输入和输出值划分为等价类,并选择代表性的值进行测试;边界值分析是确定边界值以检测软件在边缘条件下的行为;决策表是基于软件逻辑的表格,用于指定不同的输入条件和相应的输出行为。
黑盒测试可以帮助发现软件中的功能性错误和逻辑错误,提高软件的健壮性。
二、白盒测试白盒测试是一种基于软件内部结构和代码进行测试的方法。
测试人员可以访问和检查软件的内部设计、实现和逻辑结构,并使用不同的测试技术来验证软件的正确性。
白盒测试主要用于检查软件的控制流、数据流和路径覆盖等。
常用的白盒测试方法包括语句覆盖、判定覆盖、条件覆盖、循环覆盖等。
其中,语句覆盖是确保每个语句至少被执行一次;判定覆盖是确保每个判定语句的两种结果都至少被执行一次;条件覆盖是确保每个条件的所有可能取值都至少被覆盖一次;循环覆盖是确保循环体的零次、一次和多次执行都被覆盖到。
白盒测试可以发现软件中隐藏的错误和逻辑漏洞,提高软件的安全性和稳定性。
三、自动化测试工具自动化测试工具是为了加快和简化软件测试过程而开发的一类工具。
它们可以自动执行测试用例、生成测试报告和记录测试结果,提高测试效率和准确性。
常用的自动化测试工具包括Selenium、JUnit、SoapUI等。
Selenium是一款用于Web应用程序测试的自动化测试工具,它可以模拟用户操作和生成测试脚本;JUnit是一款用于Java应用程序测试的自动化测试框架,它可以进行单元测试和集成测试;SoapUI是一款用于Web服务测试的自动化测试工具,它可以模拟和测试不同的Web服务请求和响应。
软件测试学习资料

01
敏捷测试方法与实践可以帮助团队更好地适应变化,提高软件 质量。
02
在敏捷开发过程中,测试人员需要与开发人员紧密合作,确保
软件质量。
敏捷测试方法与实践包括自动化测试、探索性测试、持续集成
03
和持续测试等。
回归测试策略
1
回归测试策略可以确保新代码不会破坏现有功能。
2
在每次代码变更后,都需要进行回归测试,以确 保新代码不会引入新的缺陷。
用例更新与维护
在实际测试过程中,根据需要对测试用例进 行修改和完善,保持其时效性。
测试执行与缺陷管理
测试执行
按照测试计划和测试用例执行测试,记录测 试结果和发现的问题。
测试环境搭建
根据测试需求搭建相应的测试环境,确保测 试顺利进行。
缺陷跟踪与管理
对发现的问题进行跟踪管理,确保其得到及 时修复和验证。
02
软件测试方法与技术
黑盒测试
定义
01
黑盒测试也称为功能测试,主要关注软件的功能和需求,不关
心内部实现细节。
测试方法
02
通过输入和输出验证软件的功能是否符合要求。
常用测试用例设计方法
03
等价类划分、边界值分析、场景法等。
白盒测试
定义
白盒测试也称为结构测试或透明盒测试,关注软件的内部结构和 实现细节。
3
回归测试策略包括自动化测试、手动测试和探索 性测试等。
用户体验与易用性测试
01
用户体验和易用性是软件质量的重要指标之一。
02
通过用户体验和易用性测试,可以发现软件在使用过
程中存在的问题,提高用户满意度。
03
用户体验和易用性测试包括功能测试、界面测试、可
软件测试理论、方法和工具

软件测试理论、、方法和工具杨建华(广州海格通信集团股份有限公司软件测试中心,广东广州510000)廛题抖夔伪I要】软件测试伴随软件而产生,但软件测试成为一门比较完整的理论体系,历史却并不长久。
即使是现在,虽然软件测试理论领域著述颇多。
但这—领域的理论体系仍然不算成熟。
许多基本的概念-也。
还没有严格的定义。
.9毛}赣字】软件测试;理论;方法;工具1软件测试理论“软件”可简单定义为“为了实现用户需求而编写的规程(设计文档),以及按规程的约定编写的用以控制硬件实现用户需求的符号语言(代码)”。
从这个意义出发,软件开发过程一般包括从用户需求到规程(设计文档)再到代码。
软件测试是软件开发过程中相关活动及交付件的验证和检查,因此包括以下四个层次的内涵:1)代码对于代码规范符合性的测试;2)软件设计思想对用户需求符合性的测试;3)软件代码对软件设计思想符合性的测试:4)软件代码对用户需求符合性的测试。
上述四个层次的测试中,基于“软件设计思想都表述为软件设计文档”这样一个假设,上述叙述中的“软件设计思想”都可以用“软件设计文档”取代。
据此我们可将软件缺陷划分为四类缺陷,分别对应于四个层次的测试。
其中Il、…、I V类缺陷我们称之为真缺陷,因为它门真正关系到前述定义中“软件”的两项内容“设计文档”和“代码”能否“实现用户需求”;而在I类测试中,其测试的标准为软件开发组织自己定义的高于编程语言语法要求的规范,因此其发现的缺陷,I类缺陷并不必然地意味着前述定义中“软件”中的任何一项(代码或者文档)不能“实现用户需求”,所以我们称之为“假性缺陷”。
当然,假性缺陷并不一定就不是真缺陷,因为对软件开发组织定义的规范的违反,往往意味着代码的潜在危险性可能影响其正鬻运行,正因为如此软件开发组织才将这些尽管符合标准语法规范的代码编写方法自定义为非法。
但是显而易见的是多数用户更关心的是在测试过程中如何尽可能地发现||类、…类、I v类“真缺陷”,因为它们直接影响软件的正确性。
软件测试的方法和工具

软件测试的方法和工具软件测试是指对计算机软件进行验证和确认的过程,以确定该软件是否满足设计要求,并且是否对用户和应用场景可用。
软件测试主要是通过测试方法和测试工具来完成的。
本文将从测试方法和测试工具两个方面进行讨论。
一、测试方法1.黑盒测试黑盒测试是指在测试过程中,测试人员对于软件系统内部的功能和结构的情况并不关心,只需关注外部输出的结果。
黑盒测试侧重于测试软件应用系统的功能是否符合设计要求,是否满足用户需求以及在不同环境下是否具备可用性。
在测试过程中,需要设计测试用例,通过输入不同的数据,判断系统能否正确响应输出。
常用的黑盒测试方法包括:等价类划分、边界值分析、因果图和决策表等。
2.白盒测试白盒测试是指在测试过程中,测试人员关注系统内部细节,包括代码、结构、逻辑等方面,从而验证系统是否符合设计要求。
在测试之前需要对系统的内部结构有深入的掌握,测试人员需要编写测试用例和测试代码,通过覆盖率分析来判断代码是否正确。
常用的白盒测试方法包括:语句覆盖、判定覆盖、条件覆盖和路径覆盖等。
3.灰盒测试灰盒测试是黑盒测试和白盒测试的一种混合测试方法,既关注了测试对象的功能特性,又关注了系统的内部细节。
测试人员需要同时了解软件系统的内在逻辑和外部特性,通过测试用例的设计来完成灰盒测试。
4.自动化测试自动化测试是指在软件测试过程中,使用测试工具来自动化完成测试用例的运行。
自动化测试的优点是可以高效地运行重复性较高的测试用例,提高测试效率,并降低测试成本。
自动化测试工具包括:Selenium、Appium、JMeter等。
二、测试工具1.缺陷管理工具缺陷管理工具是用于管理缺陷信息的工具。
缺陷管理工具可以记录、统计、跟踪和分析测试中发生的缺陷情况,包括缺陷报告、缺陷类型、缺陷状态等。
常用的缺陷管理工具包括:Bugzilla、JIRA、Mantis等。
2.性能测试工具性能测试工具是用于测试软件系统性能,包括服务器的硬件和软件配置,软件系统的并发处理能力,系统的负载均衡等方面。
计算机软件测试软件测试方法和工具

计算机软件测试软件测试方法和工具计算机软件测试是指通过运行软件,检查软件的功能、性能、可靠性、稳定性等方面的测试活动。
软件测试是确保软件质量的重要步骤,以便在发布之前发现和修复潜在的缺陷和问题。
在软件测试的过程中,选择合适的测试方法和工具是至关重要的,下面将介绍几种常用的软件测试方法和工具。
一、黑盒测试黑盒测试是基于软件外部行为的测试方法,也叫功能测试。
测试人员对软件进行测试,不需要了解软件内部的结构和实现细节,只需关注软件的输入和输出以及与之相关的功能。
黑盒测试方法将软件看作一个黑盒子,测试人员只需要关注输入数据、操作和对应的输出结果,通过设计合理的测试用例进行测试,以验证软件是否满足预期的功能需求。
常用的黑盒测试方法包括等价类划分法、边界值分析法、错误推测法等。
等价类划分法将输入值划分为等价类,从每个等价类中选择一组测试数据来进行测试,以代表该等价类内的所有数据。
边界值分析法重点测试输入数据的边界值,因为边界值通常是最容易出错的。
错误推测法基于测试人员的经验和直觉来推测可能出错的地方,并进行相应的测试。
二、白盒测试白盒测试是基于软件内部结构的测试方法,也叫结构测试。
测试人员需要了解软件的内部逻辑、代码实现和运行流程,以设计测试用例和测试方法。
白盒测试方法侧重于测试软件的逻辑路径、条件覆盖和代码覆盖等方面,以尽可能地发现潜在的错误。
常用的白盒测试方法包括语句覆盖、判定覆盖、条件覆盖、路径覆盖等。
语句覆盖要求测试用例能够执行到每条语句至少一次。
判定覆盖要求测试用例能够使得每个判定语句的真假分支至少被执行一次。
条件覆盖要求测试用例能够使得每个条件的真假值至少被执行一次。
路径覆盖要求测试用例能够覆盖软件的所有可能路径。
三、性能测试性能测试是测试软件在特定工作负载下的性能和稳定性的测试方法。
通过模拟实际使用场景,测试人员可以评估软件的响应时间、吞吐量和资源占用情况等指标。
常用的性能测试方法包括负载测试、压力测试和稳定性测试。
软件测试基础知识

软件测试基础知识一、软件测试的描述:测试能提高软件的质量,但是提高质量不能依赖测试;测试只能证明错误存在,不能证明错误不存在;测试的主要困难是不知道该如何进行有效地测试,也不知道什么时候能够放心的结束测试;每个程序员都应当测试自己的程序(份内事),但不能作为程序已通过测试的依据(所以项目需要独立的测试人员);80-20原则:80%的错误聚集在20%的模块中,经常出错的模块改错后还是会经常出错;测试应当循序渐进,不要企图一次性做完。
"欲速则不达"。
一个好的测试用例是指很可能找到迄今为至尚未发现的错误的测试用例一个成功的测试是指揭示了迄今为至尚未发现的错误的测试二、软件分类:1)按功能分:系统软件(OS、硬件驱动程序)应用软件(Office、QQ)2)按技术架构分:单机版软件(Office、画图工具)C/S结构软件(客户端Client/服务器端Server,QQ、MSN)B/S结构软件(浏览器Browser/服务器Server,WEB项目)<现在软件的主流> 3)按用户分:产品软件:目标用户是大众用户(win 8)项目软件:目标用户是具体用户软件测试的目的:为了发现错误,不能证明程序正确,设计合适的测试用例,用尽可能少的测试用例,来发现尽可能多的软件错误。
测试人员的主要工作:1)规划测试任务2)设计测试(包括编写测试用例等等)3)建立一个合适的测试环境4)评估、获取、安装和配置自动测试工具5)执行测试6)撰写适当的测试文档软件测试与软件质量:QA(Quality Assurance),(关注的是过程);QC(Quality Control),即质量控制(关注的是结果)。
软件能力成熟度模型(CMM)CMM将软件组织的过程能力成熟度级别分为5个级别:初始级、可重复级、已定义级、已管理级、优化级。
SQA(Software Quality Assurance,软件质量保障)测试是在发现问题,SQA是在预防问题ISO/IEC9126国际标准所定义的软件质量包括六个部分,分别为功能性、可靠性、可用性、有效性、可维护性和可移植性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、软件测试分类黑盒测试----指测试人员通过各种输入和观察软件的各种输出结果来发现软件的缺陷,而不关心程序具体如何实现的一种测试方法。
静态测试----指测试不运行的部分,例如测试产品说明书,对此进行检查和审阅.静态白盒测试-----指在不执行的条件下有条理地仔细审查软件设计,体系结构和代码,从而找出软件缺陷的过程。
有时称作结构分析。
动态测试----通过运行和使用软件进行测试。
探索测试----通常用于没有产品说明书的测试,这需要把软件当作产品说明书来看待,分步骤逐项探索软件特性,记录软件执行情况,详细描述功能,综合利用静态和动态技术来进行测试。
等价区间----指测试相同目标或者暴露相同软件缺陷的一组测试用例测试设计----提炼测试方法,明确指出设计包含的特性和相关测试。
如果要求完成测试还明确指出测试案例和测试程序,指定特性通过/失败的规则。
单元测试:最微小规模的测试;以测试某个功能或代码块。
典型地由程序员而非测试员来做,因为它需要知道内部程序设计和编码的细节知识。
这个工作不容易作好,除非应用系统有一个设计很好的体系结构; 还可能需要开发测试驱动器模块或测试套具。
累积综合测试:当一个新功能增加后,对应用系统所做的连续测试。
它要求应用系统的不同形态的功能能够足够独立以可以在全部系统完成前能分别工作,或当需要时那些测试驱动器已被开发出来; 这种测试可由程序员或测试员来做。
集成测试:一个应用系统的各个部件的联合测试,以决定他们能否在一起共同工作。
部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。
这种类型的测试尤其与客户服务器和分布式系统有关。
功能测试:用于测试应用系统的功能需求的黑盒测试方法。
这类测试应由测试员做,这并不意味着程序员在发布前不必检查他们的代码能否工作(自然他能用于测试的各个阶段)。
系统测试:基于系统整体需求说明书的黑盒类测试;应覆盖系统所有联合的部件。
端到端测试:类似于系统测试;测试级的“宏大”的端点;涉及整个应用系统环境在一个现实世界使用时的模拟情形的所有测试。
例如与数据库对话,用网络通讯,或与外部硬件、应用系统或适当的系统对话。
健全测试:典型地是指一个初始化的测试工作,以决定一个新的软件版本测试是否足以执行下一步大的测试努力。
例如,如果一个新版软件每5分钟与系统冲突,使系统陷于泥潭,说明该软件不够“健全”,目前不具备进一步测试的条件。
衰竭测试:软件或环境的修复或更正后的“再测试”。
可能很难确定需要多少遍再次测试。
尤其在接近开发周期结束时。
自动测试工具对这类测试尤其有用。
接受测试:基于客户或最终用户的规格书的最终测试,或基于用户一段时间的使用后,看软件是否满足客户要求。
负载测试:测试一个应用在重负荷下的表现,例如测试一个 Web 站点在大量的负荷下,何时系统的响应会退化或失败。
强迫测试:在交替进行负荷和性能测试时常用的术语。
也用于描述象在异乎寻常的重载下的系统功能测试之类的测试,如某个动作或输入大量的重复,大量数据的输入,对一个数据库系统大量的复杂查询等。
性能测试:在交替进行负荷和强迫测试时常用的术语。
理想的“性能测试”(和其他类型的测试)应在需求文档或质量保证、测试计划中定义。
可用性测试:对“用户友好性”的测试。
显然这是主观的,且将取决于目标最终用户或客户。
用户面谈、调查、用户对话的录象和其他一些技术都可使用。
程序员和测试员通常都不宜作可用性测试员。
安装/卸载测试:对软件的全部、部分或升级安装/卸载处理过程的测试。
恢复测试:测试一个系统从如下灾难中能否很好地恢复,如遇到系统崩溃、硬件损坏或其他灾难性问题。
安全测试:测试系统在防止非授权的内部或外部用户的访问或故意破坏等情况时怎么样。
这可能需要复杂的测试技术。
兼容测试:测试软件在一个特定的硬件/软件/操作系统/网络等环境下的性能如何。
比较测试:与竞争伙伴的产品的比较测试,如软件的弱点、优点或实力。
Alpha 测试:在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。
这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。
Beta 测试:当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。
这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。
2.软件测试的基本方法从测试人员角度看,可分为手动测试和自动测试。
从源代码的角度可分为单元测试和功能测试。
从理论定义来分,可分为黑箱测试,白箱测试和灰箱测试。
这里要讨论的基本软件测试方法主要侧重于软件功能的黑箱测试方法:功能测试(Func tionality Test),可接受性测试(Acceptance Test),用户界面(User interface或UI)测试,Ad hoc一般指‘探讨或开放’型测试,边界条件测试(Boundary Condition),性能测试(Performance Test),回归测试(Regression Test),强力测试(Stress Test),配置和安装测试(Configuration and Setup Test),兼容性测试(Comparability Test),国际化支持测试(International Sufficiency)以及本地化语言测试(Localization)。
功能测试:验证测试软件功能能否正常按照它的设计工作。
看运行软件时的期望行为是否符合原设计。
比如,测试Microsoft Excel插入->符号的功能包括测试能够在MicrosoftExcel所选单元格中正确地插入符号并且显示正确符号?能否正确显示使用不同的字体的符号?可接受性测试:是在把测试的版本交付测试部门大范围测试以前进行的对最基本功能的简单测试。
因为在把测试的版本交付测试部门大范围测试以前应该先验证该版本对于所测试的功能基本上比较稳定。
必须满足一些最低要求。
比如不会很容易程序就挂起或崩溃。
如果一个新版本没通过可测试性的验证,就应该阻拦测试部门花时间在该测试版本上测试。
同时还要找到造成该版本不稳定的主要缺陷并督促尽快加以修正。
用户界面测试:分析软件用户界面的设计是否合乎用户期望或要求。
它常常包括菜单,对话框及对话框上所有按钮,文字,出错提示,帮助信息 (Menu 和Help content)等方面的测试。
比如,测试Microsoft Excel中插入符号功能所用的对话框的大小,所有按钮是否对齐,字符串字体大小,出错信息内容和字体大小,工具栏位置/图标等等。
‘探索或开放’型的测试:不是按部就班的按照一个又一个正式的测试用例来进行,也不局限于测试用例特定的步骤。
这种测试是测试人员在理解该软件功能的基础上运用灵活多样的想象力和创造力去模拟用户的需求来使用该软件的多种功能。
通常涉及很多的测试用例或者通过更复杂的步骤来使用该软件。
边界条件测试:是环绕边界值的测试。
通常意味着测试软件各功能是否能正确处理最大值,最小值或者所设计软件能够处理的最长的字符串等等。
性能测试是:通常验证软件的性能在正常环境和系统条件下重复使用是否还能满足性能指标。
或者执行同样任务时新版本不比旧版本慢。
一般还检查系统记忆容量在运行程序时会不会流失(memory leak)。
比如,验证程序保存一个巨大的文件新版本不比旧版本慢。
回归测试:根据修复好了的缺陷再重新进行的测试。
目的在于验证以前出现过但已经修复好的缺陷不再重新出现。
一般指对某已知修正的缺陷再次围绕它原来出现时的步骤重新测试。
通常确定所需的再测试的范围时是比较困难的,特别当临近产品发布日期时。
因为为了修正某缺陷时必需更改源代码,因而就有可能影响这部分源代码所控制的功能。
所以在验证修好的缺陷时不仅要服从缺陷原来出现时的步骤重新测试,而且还要测试有可能受影响的所有功能。
因此应当鼓励对所有回归测试用例进行自动化。
强力测试:它通常验证软件的性能在各种极端的环境和系统条件下是否还能正常工作。
或者说是验证软件的性能在各种极端环境和系统条件下的承受能力。
比如,在最低的硬盘驱动器空间或系统记忆容量条件下,验证程序重复执行打开和保存一个巨大的文件1000次后也不会崩溃或死机。
集成与兼容性测试:验证该功能能够如预期的那样与其他程序或者构件协调工作。
兼容性经常意味着新旧版本之间的协调,也包括测试的产品与其它产品的兼容使用。
比如用同样产品的新版本时不影响与用旧版本用户之间保存文件,格式,和其他数据等操作。
装配/安装/配置测试:验证软件程序在不同厂家的硬件上,所支持的不同语言的新旧版本平台上,和不同方式安装的软件都能够如预期的那样正确运行。
比如,把英文版的 Micr osoft Office 2003安装在韩文版的Windows Me 上,再验证所有功能都正常运行。
国际化支持测试:验证软件程序在不同国家或区域的平台上也能够如预期的那样运行,而且还可以按照原设计尊重和支持使用当地常用的日期,字体,文字表示,特殊格式等等。
比如,用英文版的 Windows XP 和 Microsoft Word 能否展示阿拉伯字符串?用阿拉伯版的Windows XP 和阿拉伯版的Microsoft Word 能否展示阿拉伯字符串?又比如,日文版的Mi crosoft Excel对话框是否显示正确翻译的日语?一旦来说执行国际化支持测试的测试人员往往需要基本上了解这些国家或地区的语言要求和期望行为是什么。
本地化语言测试:要验证所有已计划要发布的不同语言版本软件如预期的那样被正确地翻译成当地语言。
这类测试一般包括验证菜单,对话框,出错信息,帮助内容等所有用户界面上的文字都能够显示正确翻译好的当地文字。
3.测试工具静态测试工具:Telelogic公司的Logiscope软件;PR公司的PRQA软件。
动态测试工具:Compuware公司的DevPartner软件;Rational公司的Purify系列等。
黑盒测试工具:的代表有:Rational公司的TeamTest、Robot;Compuware公司的QAC enter。
测试管理工具:Rational公司的Test Manager;Compureware公司的TrackRecord;M ercury Interactive公司的TestDirector。