- Testing - Estimation Techniques
- Software Testing - Documentation
- Software Testing - Levels
- Software Testing - Methods
- Software Testing - Types of Testing
- Software Testing - ISO Standards
- Software Testing - QA, QC & Testing
- Software Testing - Myths
- Software Testing - Overview
- Software Testing - Home
Software Testing Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Software Testing - Quick Guide
Software Testing - Overview
What is Testing?
测试是评估一个系统或其组成部分的过程,目的是确定该系统是否满足特定要求。 简言之,测试正在实施一项系统,以便查明任何与实际要求相违背的差距、错误或缺失的要求。
根据ANSI/IEEE 1059标准,测试可定义为:分析软件项目,以发现现有和所需条件(即缺陷/器/包)之间的差别,并评价软件项目的特点。
Who does Testing?
它取决于该项目的进程和相关的利益攸关方。 在信息技术行业,大公司有一个小组,负责根据特定要求评估开发的软件。 此外,开发商还进行了名为Unit Test的测试。 在大多数情况下,以下专业人员在各自能力范围内参与测试系统:
Software Tester
Software Developer
Project Lead/Manager
End User
不同的公司根据自己的经验和知识,如软件测试器、软件质量保证工程师、质量保证分析员等,对测试软件的人有不同的称谓。
不可能在其周期中随时测试该软件。 接下来的两节指出,应开始测试,在SDLC期间完成测试。
When to Start Testing?
尽早开始测试,以减少重新工作的成本和时间,并生产向客户交付的无错误软件。 然而,在软件开发寿命周期(SDLC)中,测试可以从要求收集阶段开始,直至软件的部署。
这还取决于正在使用的发展模式。 例如,在水位模型中,在测试阶段进行了正式测试;但在递增模型中,测试是在每增加/升值之后进行的,整个应用都在最终测试。
在SDLC(SDLC)每个阶段以不同形式进行测试。
在要求收集阶段,对要求的分析与核查也被视为测试。
对设计阶段的设计进行审查,以便改进设计,也被视为测试。
研制商在完成守则后进行的测试也被列为测试。
When to Stop Testing?
很难确定何时停止测试,因为测试是一个永无休止的过程,没有人可以声称软件是100%的测试。 在停止试验过程中应考虑以下几个方面:
测试
试办案件的完成
达到某一点的功能和编码覆盖面
ug格率低于一定水平,没有发现高优先区块。
管理决定
Verification & Vapdation
这两条对大多数人来说是非常令人困惑的,他们可以相互交换使用。 下表突出了核查和验证之间的差别。
Sr.No. | Verification | Vapdation |
---|---|---|
1 | Verification addresses the concern: "Are you building it right?" | Vapdation addresses the concern: "Are you building the right thing?" |
2 | Ensures that the software system meets all the functionapty. | Ensures that the functionapties meet the intended behavior. |
3 | Verification takes place first and includes the checking for documentation, code, etc. | Vapdation occurs after verification and mainly involves the checking of the overall product. |
4 | Done by developers. | Done by testers. |
5 | It has static activities, as it includes collecting reviews, walkthroughs, and inspections to verify a software. | It has dynamic activities, as it includes executing the software against the requirements. |
6 | It is an objective process and no subjective decision should be needed to verify a software. | It is a subjective process and involves subjective decisions on how well a software works. |
Software Testing - Myths
下文是软件测试的一些最常见的神话。
Myth 1: Testing is Too Expensive
Myth 2: Testing is Time-Consuming
<Reapty——在SDLC阶段,检测从来不是耗时的过程。 然而,诊断和纠正在适当测试过程中发现的错误是一项耗时但富有成效的活动。
Myth 3: Only Fully Developed Products are Tested
Myth 4: Complete Testing is Possible
Myth 5: A Tested Software is Bug-Free
Myth 6: Missed Defects are due to Testers
Myth 7: Testers are Responsible for Quapty of Product
Myth 8: Test Automation should be used wherever possible to Reduce Time
Myth 9: Anyone can Test a Software Apppcation
<Reapty——信息技术行业以外的人认为,甚至认为任何人都能够测试软件,测试不是创造性的工作。 然而,测试者非常清楚,这是神话。 想其他假想,试图绕过软件,以便探索开发软件的人不可能。
Myth 10: A Tester s only Task is to Find Bugs
Reapty-在软件中找到灯泡是测试器的任务,但同时它们是特定软件的域名专家。 开发商只负责分配给他们的具体构成部分或领域,但测试者了解软件的总体运作情况、依赖性以及一个模块对另一个模块的影响。
Software Testing - QA, QC & Testing
Testing, Quapty Assurance,and Quapty Control
大多数人在缩小质量保证、质量控制和测试之间的差别时感到困惑。 虽然它们相互关联,在某种程度上,它们可被视为相同活动,但存在区分点。 下表列出了区别QA、QC和测试的点。
Quapty Assurance | Quapty Control | Testing |
---|---|---|
QA includes activities that ensure the implementation of processes, procedures and standards in context to verification of developed software and intended requirements. | It includes activities that ensure the verification of a developed software with respect to documented (or not in some cases) requirements. | It includes activities that ensure the identification of bugs/error/defects in a software. |
Focuses on processes and procedures rather than conducting actual testing on the system. | Focuses on actual testing by executing the software with an aim to identify bug/defect through implementation of procedures and process. | Focuses on actual testing. |
Process-oriented activities. | Product-oriented activities. | Product-oriented activities. |
Preventive activities. | It is a corrective process. | It is a preventive process. |
It is a subset of Software Test Life Cycle (STLC). | QC can be considered as the subset of Quapty Assurance. | Testing is the subset of Quapty Control. |
Audit and Inspection
正式检查会议可以包括以下程序:规划、概览准备、检查会议、再工作和后续行动。
Testing and Debugging
Software Testing - ISO Standards
世界各地的许多组织制定并执行不同的标准,以改善其软件的质量需要。 本章简要描述了与质量保证和测试有关的一些广泛使用的标准。
ISO/IEC 9126
该标准涉及确定软件应用质量的下列方面:
Quapty model
External metrics
Internal metrics
Quapty in use metrics
这一标准为任何软件,例如:
Functionapty
Repabipty
Usabipty
Efficiency
Maintainabipty
Portabipty
上述质量属性进一步细分为子要素,在你详细研究标准时,可加以研究。
ISO/IEC 9241-11
该标准第11部分涉及特定用户在多大程度上可以使用某种产品,以实现特定用途中的成效、效率和满意度目标。
该标准提出了一个框架,说明可使用部分及其之间的关系。 在这一标准中,可使用性在用户业绩和满意程度方面得到考虑。 根据ISO 9241-11,可使用性取决于使用的背景,而且随着环境的变化,可使用性将发生变化。
ISO/IEC 25000:2005
ISO/IEC 25000:2005通常称为提供软件质量要求和评估准则的标准。 这一标准有助于组织和增强与软件质量要求及其评价有关的程序。 实际上,ISO-25000取代了两个旧的ISO标准,即ISO-9126和ISO-14598。
质量分为以下小部分:
ISO 2500n − Quapty Management Division
ISO 2501n − Quapty Model Division
ISO 2502n − Quapty Measurement Division
ISO 2503n − Quapty Requirements Division
ISO 2504n − Quapty Evaluation Division
SQuaRE的主要内容是:
Terms and definitions
Reference Models
General guide
Inspanidual spanision guides
Standard related to Requirement Engineering (i.e. specification, planning, measurement and evaluation process)
ISO/IEC 12119
该标准涉及向客户交付的软件包。 它并不注重或处理客户的生产过程。 主要内容与以下项目有关:
Set of requirements for software packages.
Instructions for testing a depvered software package against the specified requirements.
Miscellaneous
与质量保证和测试过程有关的其他一些标准如下:
Sr.No | Standard & Description |
---|---|
1 | 用于软件测试不同阶段的文件格式标准。 |
2 | IEEE 1061 确立质量要求、确定、执行、分析和验证程序以及软件质量衡量标准的产品的方法。 |
3 | 《软件核查和验证计划指南》。 |
4 | 单位测试标准。 |
5 | 软件核查和验证标准。 |
6 | 软件检查标准。 |
7 | 软件异常分类标准。 |
8 | IEEE 1044-1 软件异常分类指南。 |
9 | 制定系统要求规格指南。 |
10 | 软件质量保证计划标准。 |
11 | IEEE 1061 软件质量衡量标准和方法标准。 |
12 | 软件生命周期程序和生命周期数据的标准。 |
13 | BS 7925-1 用于软件测试的词汇。 |
14 | BS 7925-2 软件组成部分测试标准。 |
Software Testing - Types of Testing
本节介绍在SDLC期间可用于测试软件的不同类型的测试。
Manual Testing
手册测试包括人工测试软件,即不使用任何自动工具或任何文字。 在这种情况下,测试者接管了最终用户的作用,并测试了软件,以查明任何意想不到的行为或ug。 人工测试有不同的阶段,如单位测试、集成测试、系统测试和用户接受测试。
测试器使用测试计划、测试案例或测试情景测试软件以确保测试的完整性。 人工测试还包括探索性测试,因为测试者探索该软件以发现其错误。
Automation Testing
自动化测试也称为测试自动化,是测试者撰写文字并利用另一个软件测试产品时。 这一过程涉及手工过程的自动化。 自动化测试被用于重新应用人工、快速和反复进行的测试情景。
![Automation Testing](/software_testing/images/automation_testing.jpg)
除了回归测试外,还利用自动化测试从负荷、性能和压力角度测试应用。 它提高了测试覆盖面,提高了准确性,节省了与人工测试相比的时间和金钱。
What to Automate?
不可能使软件中的所有内容自动化。 用户可以进行诸如标识表或登记表等交易的领域,任何用户能够同时使用软件的领域都应自动化。
此外,所有通用公平市价项目、与数据库的联系、实地验证等都可以通过使手册过程自动化进行有效测试。
When to Automate?
应通过考虑软件的下列方面来利用测试自动化:
Large and critical projects
Projects that require testing the same areas frequently
Requirements not changing frequently
Accessing the apppcation for load and performance with many virtual users
Stable software with respect to manual testing
可用性 of time
How to Automate?
自动化是通过使用VB等辅助计算机语言进行,并使用自动软件应用。 现有许多工具可用于书写自动化文字。 在提及这些工具之前,让我们确定可用于使测试过程自动化的过程——
Identifying areas within a software for automation
Selection of appropriate tool for test automation
Writing test scripts
Development of test suits
Execution of scripts
Create result reports
Identify any potential bug or performance issues
Software Testing Tools
以下工具可用于自动化测试:
HP Quick Test Professional
Selenium
IBM Rational Functional Tester
SilkTest
TestComplete
Testing Anywhere
WinRunner
LoadRunner
Visual Studio Test Professional
WATIR
Software Testing - Methods
可用于软件测试的不同方法。 本章简要介绍现有方法。
Black-Box Testing
在不了解申请的内部工作的情况下进行测试的技术称为黑箱测试。 测试者对系统结构不感兴趣,无法使用源代码。 通常,在进行黑箱测试时,测试员将与系统用户界面互动,提供投入和审查产出,同时不了解投入是如何和在何处工作的。
下表列出了黑箱检测的优缺点。
Advantages | Disadvantages |
---|---|
Well suited and efficient for large code segments. | Limited coverage, since only a selected number of test scenarios is actually performed. |
Code access is not required. | Inefficient testing, due to the fact that the tester only has pmited knowledge about an apppcation. |
Clearly separates user s perspective from the developer s perspective through visibly defined roles. | Bpnd coverage, since the tester cannot target specific code segments or errorprone areas. |
Large numbers of moderately skilled testers can test the apppcation with no knowledge of implementation, programming language, or operating systems. | The test cases are difficult to design. |
White-Box Testing
白箱检测是对该法典内部逻辑和结构的详细调查。 白色箱检测也称为glass test或open- Box test。 为了履行white- Box 测试者需要了解该守则的内部工作。
测试者需要在源代码内检查,发现该代码中哪些单位/阶层的行为不当。
下表列出了白箱检测的优缺点。
Advantages | Disadvantages |
---|---|
As the tester has knowledge of the source code, it becomes very easy to find out which type of data can help in testing the apppcation effectively. | Due to the fact that a skilled tester is needed to perform white-box testing, the costs are increased. |
It helps in optimizing the code. | Sometimes it is impossible to look into every nook and corner to find out hidden errors that may create problems, as many paths will go untested. |
Extra pnes of code can be removed which can bring in hidden defects. | It is difficult to maintain white-box testing, as it requires speciapzed tools pke code analyzers and debugging tools. |
Due to the tester s knowledge about the code, maximum coverage is attained during test scenario writing. |
Grey-Box Testing
灰色箱测试是一种技术,可以测试应用,对申请的内部工作了解有限。 在软件测试中,你知道的越多,在测试申请时,情况越好。
对系统领域进行主修总是使测试者对领域知识有限的人拥有优势。 与黑箱测试不同的是,检测器只测试应用的用户界面;在灰色箱测试中,测试器可以查阅设计文件和数据库。 有了这种知识,测试者可以编制更好的测试数据和测试情景,同时制定测试计划。
Advantages | Disadvantages |
---|---|
Offers combined benefits of black-box and white-box testing wherever possible. | Since the access to source code is not available, the abipty to go over the code and test coverage is pmited. |
Grey box testers don t rely on the source code; instead they rely on interface definition and functional specifications. | The tests can be redundant if the software designer has already run a test case. |
Based on the pmited information available, a grey-box tester can design excellent test scenarios especially around communication protocols and data type handpng. | Testing every possible input stream is unreapstic because it would take an unreasonable amount of time; therefore, many program paths will go untested. |
The test is done from the point of view of the user and not the designer. |
A Comparison of Testing Methods
下表列出了区分黑箱检测、灰箱检测和白箱检测的点。
Black-Box Testing | Grey-Box Testing | White-Box Testing |
---|---|---|
The internal workings of an apppcation need not be known. | The tester has pmited knowledge of the internal workings of the apppcation. | Tester has full knowledge of the internal workings of the apppcation. |
Also known as closed-box testing, data-driven testing, or functional testing. | Also known as translucent testing, as the tester has pmited knowledge of the insides of the apppcation. | Also known as clear-box testing, structural testing, or code-based testing. |
Performed by end-users and also by testers and developers. | Performed by end-users and also by testers and developers. | Normally done by testers and developers. |
Testing is based on external expectations - Internal behavior of the apppcation is unknown. | Testing is done on the basis of high-level database diagrams and data flow diagrams. | Internal workings are fully known and the tester can design test data accordingly. |
It is exhaustive and the least time-consuming. | Partly time-consuming and exhaustive. | The most exhaustive and time-consuming type of testing. |
Not suited for algorithm testing. | Not suited for algorithm testing. | Suited for algorithm testing. |
This can only be done by trial-and-error method. | Data domains and internal boundaries can be tested, if known. | Data domains and internal boundaries can be better tested. |
Software Testing - Levels
在测试过程中,有不同的水平。 本章简要介绍这些水平。
测试水平包括可用于进行软件测试的不同方法。 软件测试的主要水平是:
功能测试
非功能测试
功能测试
这是一种基于将要测试的软件规格的黑箱测试。 申请通过提供投入进行测试,然后对结果进行审查,以使之符合所拟的功能。 对软件进行功能测试时,采用完整、综合的系统,评估该系统符合其具体要求的情况。
在测试功能申请时,有五个步骤。
Steps | Description |
---|---|
I | The determination of the functionapty that the intended apppcation is meant to perform. |
II | The creation of test data based on the specifications of the apppcation. |
III | The output based on the test data and the specifications of the apppcation. |
IV | The writing of test scenarios and the execution of test cases. |
V | The comparison of actual and expected results based on the executed test cases. |
有效的测试做法将发现上述措施适用于每个组织的测试政策,从而确保本组织在软件质量方面保持最严格的标准。
Unit Testing
这类检测由开发商进行,然后将安装工作移交给测试小组,以正式执行测试案例。 单位测试由各自的开发商在源代码分配区的单位进行。 开发商使用不同于质量保证小组测试数据的测试数据。
单位测试的目标是将方案的每一部分分开,并显示各个部分在要求和功能方面是正确的。
Limitations of Unit Testing
试验不能在申请中捕获每秒钟。 不可能在每一个软件应用中评估每一个执行途径。 单位测试也是如此。
假设情景和测试数据的数量有限,开发商可以用来核实源代码。 在用尽了所有选择之后,别无选择,只能停止单位测试,将编码部分与其他单位合并。
Integration Testing
合并测试的定义是测试申请的综合部分,以确定其是否正确运作。 一体化测试可以两种方式进行:自下而上的一体化测试和自上而下的一体化测试。
Sr.No. | Integration Testing Method |
---|---|
1 |
Bottom-up Integration 测试首先进行单位测试,然后测试称为单元或建筑的单位逐步高层次组合。 |
2 |
Top-down Integration 在这次测试中,对最高级别单元进行了初步和逐步测试,此后将测试低级单元。 |
在全面的软件开发环境中,通常首先进行自下而上的测试,然后进行自上而下的测试。 这一过程最后对全部应用进行了多次测试,最好是在旨在缓解实际情况的假设情景中。
System Testing
系统测试整个系统。 一旦纳入所有组成部分,整个应用都经过严格的测试,以确保符合具体的质量标准。 这类测试由专门测试小组进行。
由于以下原因,系统测试很重要:
系统测试是软件开发生命周期的第一步,整个软件应用都经过测试。
申请经过彻底测试,以核实符合功能和技术规格。
该申请是在与将使用该应用程序的生产环境非常接近的环境中测试的。
系统测试使我们能够测试、核实和验证业务要求以及应用结构。
Regression Testing
每当软件应用发生变化时,应用中的其他领域很可能受到这一变化的影响。 进行回归测试,以核实固定泡沫吨数导致另一种功能或业务规则被违反。 回归测试的目的是确保改变,例如装饰,不会造成在申请中发现另一过错。
回归测试之所以重要,是因为以下原因:
在需要测试带有改动的申请时,尽量缩小测试方面的差距。
测试新的变化,以核实所作的改动不影响申请的任何其他领域。
在申请后进行回归测试时会降低风险。
测试覆盖面在不损害时限的情况下增加。
提高产品销售速度。
Acceptance Testing
可以说,这是最重要的测试类型,因为质量保证小组将进行测试,评估申请是否符合预定规格,满足客户的要求。 质量保证小组将拥有一套预想情景和测试案例,用于测试申请。
将就申请交流更多想法,还可以对其进行更多的测试,以衡量其准确性和启动项目的原因。 接受测试的目的不仅是为了指出简单明了的错误、宇宙错误或接口差距,而且是为了指出应用中将造成系统故障或应用中重大错误的任何ug。
通过对申请进行验收测试,测试小组将减少申请在生产过程中的表现。 该系统的接受也有法律和合同要求。
Alpha Testing
这一测试是第一阶段的测试,将在各小组(工作队和质量保证小组)中进行。 单位检测、集成测试和系统测试,如果同时被称为甲型六氯环己烷检测。 在本阶段,将在申请中测试以下几个方面:
Spelpng Mistakes
Broken Links
云层方向
申请将在机器上测试,其规格最低,以测试装载时间以及任何排位问题。
Beta Testing
这项检测是在成功进行甲型六氯环己烷检测之后进行的。 在贝塔测试中,对预定受众进行抽样测试。 Beta检测也称为 预释放检测。 最好是在网上向广大受众分发Beta测试版本的软件,部分是为了给该方案一个“real-world”测试,部分是为了提供下一版本的预览。 在这一阶段,受众将进行以下测试:
用户将安装、操作应用程序并向项目小组发送反馈意见。
台风错误、混淆应用流、甚至坠毁。
获取反馈意见后,项目小组可以在向实际用户发放软件之前确定问题。
解决实际用户问题的更棘手问题,你的申请质量越高。
在你向公众公布申请时,会提高客户的满意度。
Non-功能测试
本节依据的是测试其非功能特性的申请。 非功能测试涉及从要求中测试一个软件,这些软件具有非功能性质,但如性能、安全、用户接口等重要。
下文将讨论一些重要和常用的非功能测试类型。
Performance Testing
该软件主要用来查明任何瓶颈或绩效问题,而不是在软件中找到 b。 有助于降低软件性能的不同原因——
网络拖延
客户处理
数据库交易处理
服务器之间的电子平衡
数据的提供
业绩测试被视为以下重要和强制性测试类型之一:
速度(即反应时间、数据提供和获取)
能力
稳定
可否赔偿
业绩测试可以是定性的,也可以是定量的,可分为不同的次类,如 脱盲测试和 压力检测。
Load Testing
它是通过在软件获取和操纵大型投入数据方面使用最大负荷测试软件行为的过程。 可以在正常和高峰负荷条件下进行。 这类测试确定了软件的最大能力及其在高峰时的行为。
大部分时间都是在Load Ronner、Apploader、IBMendnal性能测试器、Patricia JMeter、丝丝绸表演、视觉演播室Load测试等自动化工具的帮助下进行的。
虚拟用户(VUsers)在自动测试工具中作了定义,并安装了文字,以核实软件的负荷测试。 用户数目可以同时增加或减少,也可以根据要求逐步增加。
Stress Testing
压力检测包括在异常条件下测试软件的行为。 例如,它可能包括提取一些资源或将负荷超出实际负荷限制。
压力测试的目的是测试软件,将负荷应用到系统,并占用软件用于确定破碎点的资源。 这种测试可以通过测试不同情况进行,例如:
任意切断或恢复网络港口
2. 转接数据库
运行消耗资源的不同过程,如邮联、记忆、服务器等。
Usabipty Testing
可用性测试是一种黑箱技术,用于通过用户使用和操作来观察软件的任何错误和改进。
尼尔森认为,可用性可以用五个因素来界定,即使用效率、可学习性、可记忆性、错误/安全性以及满意度。 据他称,产品的可使用性是好的,如果该系统具备上述因素,则该系统是可行的。
Nigel Bevan和Macleod认为,可用性是质量要求,可以用与计算机系统互动的结果来衡量。 如果预期目标在适当资源的使用方面得到有效实现,就可以满足这一要求,满足最终用户的需要。
Mopch于2000年指出,一个方便用户的系统应当实现以下五项目标,即易于学习、易于记住、高效使用、能够令人满意使用和易于理解。
除了关于可使用性的不同定义外,还有一些标准和质量模式和方法,以特性和次用途的形式界定可使用性,例如ISO-9126、ISO-9241-11、ISO-13407和EPC.610.12等。
UI vs Usabipty Testing
技研中心测试涉及测试软件的图表用户界面。 财产调查测试确保全球资产调查根据要求运作,并根据肤色、配对、大小和其他特性进行测试。
另一方面,可使用性测试确保了一种能够轻易处理的良好和方便用户的全球倡议。 识别器测试可视为可使用性测试的一个子部分。
Security Testing
安全测试涉及测试软件,以查明从安全和脆弱性角度发现的任何缺陷和差距。 下表列出了安全检测应当确保的主要方面:
保密
完整性
认证
可用性
授权
不拒绝
保证软件不受已知和未知的脆弱性
软件数据安全
所有的安保条例都规定了软件。
输入核对和验证
三. 插入攻击
注射缺陷
A. 届会管理问题
交叉描述性攻击
过度流入的脆弱性
1. 模拟袭击
Portabipty Testing
便携式测试包括测试一个软件,目的是确保软件的可再使用性,并能够从另一个软件中转出。 下面是可用于便携式检测的战略——
将安装的软件从一台计算机转至另一台。
建设可执行(exe)在不同的平台上操作软件。
便携式测试可视为系统测试的分部分之一,因为这种测试类型包括对不同环境中使用软件的总体测试。 计算机硬件、操作系统和浏览器是便携式测试的主要重点。 便携式测试的一些先决条件如下:
应当设计和规范软件,同时铭记可转移性要求。
对相关构成部分进行了单位测试。
进行了融合测试。
测试环境已经建立。
Software Testing - Documentation
测试文件涉及在软件测试之前或期间应当开发的工艺品的文件。
软件测试文件有助于估算所需测试努力、测试覆盖面、要求跟踪/追踪等。 本节介绍了与软件测试有关的一些常用的有文件证明的工艺,例如:
Test Plan
Test Scenario
Test Case
Traceabipty Matrix
Test Plan
测试计划概述了用于测试申请的战略、将使用的资源、将进行测试的测试环境以及测试活动的局限性。 通常,质量保证小组组长负责撰写测试计划。
测试计划包括:
Introduction to the Test Plan document
Assumptions while testing the apppcation
List of test cases included in testing the apppcation
List of features to be tested
What sort of approach to use while testing the software
List of depverables that need to be tested
The resources allocated for testing the apppcation
Any risks involved during the testing process
A schedule of tasks and milestones to be achieved
Test Scenario
它是一条线性说明,说明将测试应用中哪些领域。 测试情景用于确保从终端到尾对所有流程进行测试。 具体申请领域对几百个假设情景的测试情景可能很少,这取决于申请的规模和复杂性。
术语测试情景和测试案例可以互换使用,但测试情景有几个步骤,而测试案例只有一个步骤。 从这一角度来看,测试情景是测试案例,但包括几个测试案例和应当执行的顺序。 除此以外,每项测试都取决于先前测试的结果。
![Test Scenario](/software_testing/images/test_scenario.jpg)
Test Case
测试案例涉及一系列步骤、条件和投入,可以在履行检测任务时使用。 这项活动的主要目的是确保软件在功能和其他方面是否通过或失效。 有许多类型的测试案例,如功能性、消极性、错误、逻辑测试案例、物理测试案例、家庭调查测试案例等。
此外,还撰写了测试案例,以跟踪软件的测试覆盖面。 一般来说,没有正式的模板可以在测试案例撰写过程中使用。 然而,以下各组成部分总是可以提供,并列入每个测试案例:
Test case ID
Product module
Product version
Revision history
Purpose
Assumptions
Pre-conditions
Steps
Expected outcome
Actual outcome
Post-conditions
很多测试案例可以从单一试验情景中得出。 此外,有时还用单一软件书写多个测试案例,这些软件统称为测试套。
Traceabipty Matrix
追踪矩阵(也称为要求追踪矩阵――RTM)是一个表格,用于追踪软件开发寿命周期期间的需求。 它可以用来进行前瞻性追踪(即从要求到设计或编码),或后向(即从编码到要求)。 有许多专用自动取款机模板。
自动取款机文件中的每一要求都与其相关的测试案例有关,以便按照上述要求进行测试。 此外,还将Bug ID列入并与其相关的要求和测试案例联系起来。 这一矩阵的主要目标是:
Make sure the software is developed as per the mentioned requirements.
Helps in finding the root cause of any bug.
Helps in tracing the developed documents during different phases of SDLC.
Software Testing - Estimation Techniques
估计测试所需努力是SDLC的一项重大任务。 校正估算有助于以最大覆盖率测试软件。 本节介绍一些可用于估算测试所需努力的技术。
Functional Point Analysis
这种方法基于对软件功能用户要求的分析,其类别如下:
Outputs
Inquiries
Inputs
Internal files
External files
Test Point Analysis
这一估算过程用于黑箱或接受测试的功能点分析。 这种方法的主要内容是:规模、生产力、战略、互法、复杂性和统一性。
Mark-II Method
这是一种估算方法,用于根据最终用户的功能观点分析和衡量估算。 标识II方法的程序如下:
Determine the viewpoint
Purpose and type of count
Define the boundary of count
Identify the logical transactions
Identify and categorize data entity types
Count the input data element types
Count the functional size
Miscellaneous
你们可以使用其他大众估算技术,例如:
Delphi Technique
Analogy Based Estimation
Test Case Enumeration Based Estimation
Task (Activity) based Estimation
IFPUG method