Testing


一、1.测试过程:

测试计划,测试设计,测试开发,测试执行,测试评估。


2.测试计划(内容):

测试目标、测试范围、测试项目、采用的测试手段、需要的工具和资源、交付物——Artifacts.

3.测试设计(内容):

确认和详细描述测试用例、确认和设计测试脚本、评估测试覆盖。

4.测试开发(内容):

建立测试环境、录制或编写测试脚本、开发测试驱动器和桩模块、建立外部数据集。

5.测试执行(内容):

执行测试脚本、测试执行情况分析、测试结果验证、研究未预期的测试结果、写测试日志、Bug报告和Bug跟踪。

6.测试评估(内容):

分析测试用例覆盖、分析代码覆盖、分析缺陷、(分析是否达到测试停止、成功标准)、写测试分析报告。

二、测试方法:

静态测试方法,动态测试方法,黑盒测试,白盒测试,回归测试,模拟用户操作测试方法。

1.静态测试方法:

主要特征是在用计算机测试程序的时,计算机并不真正运行被测试的程序,只对被测程序进行特性分析。
因此,静态方法常称为“分析”,静态分析试对被测试程序进行特性分析的一些方法的总称。

2.动态测试方法:

主要特征是计算机必须真正运行被测试的程序,通过输入测试用例,对其运行情况I/O的对应关系)进行分析。

3.黑盒测试:

Black-box Testing,又称功能测试、数据驱动测试或者基于规格说明的测试,是一种从用户观点出发的测试。
被测程序被当作一个黑盒,不考虑程序的内容结果和内容特性,测试者只知道该程序输入和输出之间的关系或程序的功能,依靠能够反映这一关系的程序功能的需求规格说明书考虑确定测试用例和推断测试结果的正确性。
软件的黑盒测试被用来证明软件功能的正确性和可操作性。

4.白盒测试:

White-box Testing,又称结构测试、逻辑驱动测试或者基于程序的测试。
白盒测试依赖于对程序细节的严密检查,针对特定条件和循环集设计测试用例,对软件的逻辑路径进行测试。
在程序的不同点检查“程序状态”,一定时期实际情况是否和预期的状态相一致。
软件的白盒测试用来分析程序的内部结构。
白盒测试要求对某些程序的结构特性做到一定程度的覆盖,或者说是“基于覆盖的测试”。

5.回归测试:

回归测试应用于:a.增量开发,b.版本控制,c.软件维护
回归测试的目的:a.验证修改的或增加的部分是正确的。b.验证这些部分没有引起其他部分产生错误。

6.模拟用户操作测试:

模拟用户操作测试,是基于对用户如何使用被测试软件的了解来开发测试的方法。
经验告诉我们,复杂的软件产品有许多错误,但用户一般只能找出这些错误中的很少的一部分。
为了给用户带来最大的利益,要着重对那些用户可能发现的错误进行测试和修改工作。

三、测试类型:

1.可靠性测试(质量维度1)

a.完整性测试:
侧重于评估测试对象的强壮性(防止失败的能力),语言、语法的技术兼容性,以及资源利用率的测试。该测试针对不同的测试对象实施和执行,包括单元测试和已集成单元。
b.结构测试:
侧重于评估测试目的是否符合其设计和构造的测试。通常对基于Web的应用程序执行该测试,以确保所有的连接都已连接、显示正常的内容,以及没有孤立的内容。

2.功能测试(质量维度2)

a.配置测试:
侧重于确保测试对象在不同的硬件和(或)软件配置上按预期运行的测试。该测试还可以作为系统性能测试来实施。
b.功能测试
侧重于合适测试对象按计划运行,提供需求的服务、方法或用例的测试。该测试针对不同的测试对象实施和执行,包括单元、已集成单元、应用程序和系统
c.安装测试
侧重于确保测试对象在不同的条件(磁盘空间不足或者电源中断)安预期安装的测试。该测试针对不同的应用程序、系统实施和执行。
d.安全测试
侧重于确保只由预期的主角才可以访问测试对象、数据(或系统)的测试。该测试针对多种测试对象实施和执行。
e.容量测试
侧重于适合测试对象对于大量数据(输入和输出或驻留在数据库内)的处理能力的测试。容量测试包括多种测试策略,如:
-创建返回整个数据库内容的查询
-对查询设置很多限制,以至不返回数据或者返回每个字段中最大数据量的数据条目。

3.性能测试(质量维度3)

a.基准测试
一种性能测试,该测试已知的参照和系统的性能。将比较(新的或未知的)测试对象与已知的参照和系统的性能。
b.竞争测试
侧重于合适测试对象对于多个主角对于相同资源(数据记录、内存等)的请求的处理是否可以接受的测试。
c.负载测试
一种性能测试,用于在测试的系统保持不变的情况下,核实和评估系统在负载下操作极限的可接受性,评测包括负载和响应时间特征。
d.性能曲线
在该测试中,将监测测试对象的记时配置文件,包括执行流、数据访问、函数和系统调用,已确定并解决性能瓶颈和低效流程。
e.强度测试
也是一种性能测试,侧重于确保系统可在遇到异常条件时按预期运行。系统面对的工作强度可能包括过大的工作量、不充足的内存、不可用的服务/硬件或过低的共享资源。

4.其他术语:

单元测试:
a)侧重于何时软件的最小可测试元素。
b)通常应用于实现模型中的构件
c)主要做:功能正确的前提下的控制流和数据流的覆盖测试。
d)主要针对单元的内部结构,更注重白盒测试。
集成测试:
a)集成的单元能够正确的执行用例
b)测试对象是实现模型中的一个包或者一组包
c)要集成的包通常来自不同的开发组
d)集成测试将揭示包结构规约中不够完全或者错误的地方
系统测试:
a)所有集成测试完成
b)软件系统之间的联合测试
c)软、硬件等之间的联合测试
d)模拟真实运行环境的测试
验收测试:
a)测试的最后一道工序
b)用户在场或者直接测试
c)用户可能自定义测试用例
恢复测试:
例如:硬件故障或者用户不良数据引起的一些情况。
兼容性测试:
对软、硬件、操作系统、网络的兼容性测试
比较测试:
与同类产品进行比较,列出优点。
边界测试:
测试产品特定的限制,如最大值,最小值,确定软件在这些特定的限制下能否正常工作。
正向测试:
确定正确使用软件时,软件某一特性产生的结果是否与需求一致。
逆向测试:
确定软件无效输入或非法操作的处理是否合理。

四.测试策略

a)测试策略是各个测试阶段(单元测试、集成测试和系统测试)、测试类型(功能测试、性能测试、负载测试、强度测试等)中使用的策略,策略描述的是在这些测试活动中采用的手段和主要目标。
b)测试策略的几个重要元素:目标、技术、工具、成功标准、专门考虑。

eg.安装测试:

目标:把软件在指定硬件下正确的进行安装或者升级,并能对安装过程记录和配置。
技术:开发手工或自动脚本获取目标计算机的软件安装情况;进行安装;用预先定义的功能测试脚本来运行安装。
工具:安装监控工具。
成功标准:在多种配置下正确安装。
专门考虑:怎样保证安装的完整性?

五.测试工具

缺陷跟踪工具、测试用例设计工具、测试数据产生工具、录制/回放工具、测试覆盖监控工具、测试结果比较工具、内存泄漏检查工具、性能测试工具。

Others:
测试需要build发现新的bug,验证新build中已解决的bug.
开发人员要做的事情:打开缺陷跟踪工具,查看指定给自己的bug,解决高优先度的bug。因为质量重于新功能。
接下来开发人员会:
从版本控制工具中check out代码。修改代码(解决bug或者实现新功能)。取得版本工具中最新变化,在本机build,并进行单元测试。请开发组的同事做Code Review。Check in 代码。

http://wenku.baidu.com/view/7a55fbd726fff705cc170a78.html
http://www.doc88.com/p-231796890567.html (白盒测试的实现方式)





### Deveco Testing Tools and Guides for Software Development Deveco provides comprehensive support for testing during the software development lifecycle. The platform integrates various tools that facilitate efficient and effective testing practices. #### Integrated Testing Environment Deveco offers an integrated environment where developers can perform unit tests, integration tests, and end-to-end tests within a unified interface. This setup reduces context switching between different tools and enhances productivity[^1]. #### Continuous Integration and Delivery Support By integrating continuous integration (CI) pipelines directly into the workflow, automated builds and deployments are streamlined. Automated tests run at every commit or pull request, ensuring issues are caught early in the development cycle[^2]. #### Test Automation Frameworks Support for multiple test automation frameworks such as RSpec—a behavior-driven development framework—allows teams to choose the best tool suited for their project requirements. These frameworks often include features like null databases (`NullDB`), which accelerate testing by eliminating reliance on actual database operations. ```ruby describe "User Authentication" do it "logs user in successfully when valid credentials provided" do expect(user.login('valid_username', 'correct_password')).to be_truthy end it "fails login attempt with invalid password" do expect(user.login('any_user', 'wrong_password')).not_to be_truthy end end ``` #### Documentation and Best Practices Comprehensive documentation accompanies these tools, guiding users through setting up environments, writing robust tests, and interpreting results. Tutorials cover everything from basic concepts to advanced techniques tailored specifically towards optimizing application performance[^3].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值