关于Test Plan

1. Testing shouldbe optimized to find important problems fast, rather than attempting to find all problems with equal urgency.(给予我的经验教训就是不要着急full sweep测试,先smoke test,然后new feature testfocus on改变的部分),然后important feature testing,最后是function sweep testing)

 

2.Test strategy should focus most effort on areas of potential technical risk, while still

Putting some effort into low risk areas just in case the risk analysis is wrong.

(之前做过一个项目,因为develop team没有怎么做过REGUID,开发和QA没有沟通好,应该把build兼容测试作为重点进行测试,但是test plan放到了较后,review test plan, PM等也没有提出啥异议,造成项目进行了一段时间,发现了严重的兼容问题,导致很多rework工作,造成项目延后)

  

3.Test strategy should address test platform. configuration, how the product will be operated, how the product will be observed, and how observations will be used to

Evaluate the product.(就我公司而言,这些信息是PM和客户去沟通确认需求,归档到PRD中,QA按照PRD的需求制定计划。一般这些信息不是很明确,就要QA提出,以免资源浪费或是测试不够)

 

4.Test strategy should be diversified in terms of test techniques and perspectives. Methods of evaluating test coverage should take into account multiple dimensions of coverage,including structural, functional, data, platform, operations, and requirements.(制定测试计划要考虑如何在有限资源的情况下cover更多)

 

No single test technique can reveal all important problems in a linear fashion. We can never know for sure if we have found all the problems that matter.Diversification minimizes the risk that the test strategy will be blind to certain kinds of problems.

 

5.The test strategy should specify how test data will be designed and generated.

It is common for the test strategy to be organized around functionality or code, leaving it to the testers to concoct test data on the fly. (对我公司而言就是测试素材的制作,对于多媒体软件而言,测试素材多而广,有goodbad两种素材,bad素材测试软件的容错性等,这还涉及到素材的管理和更新的问题)

 

6.Not all testing should be pre-specified in detail. The test strategy should incorporate

reasonable variation and make use of the testers’ ability to use situational reasoning to

focuse on important, but unanticipated problems.(要来考虑exploratoryad hoc testing的时间)

 

7.It is important to test against implied requirements—the full extent of what the

requirements mean, not just what they say.(在制定test plan之前,要和项目相关人员一起review requirements,模糊的问题提早明确)

Heuristic Basis for heuristic

8.The test project should promote collaboration with all other functions of the

project, especially developers, technical support, and technical writing. Whenever

possible, testers should also collaborate with actual customers and users, in order to better

understand their requirements.(项目组各个team的合作很重要,信息的共享与传递更重要,定期的项目会议也许是个比较有效的办法)

 

9.The test project should consult with development to help them build a more testable product.

(什么是testableWiki的定义是It means it can be tested, but it also can be proven wrong later.In engineering this refers to the capability of an equipment or system to be tested. 

10.A test plan should highlight the non-routine, project-specific aspects of the test strategy and test project.我也在想尽量做到test plan不是个没有内容的的毫无价值文档)

 

11.The test project should use humans for what humans do well and use automation forwhat automation does well. Manual testing should allow for improvisation and on thespot critical thinking, while automated testing should be used for tests that requirehigh repeatability, high speed, and no judgment. (对我而言是欠缺对自动测试的考虑和计划)

 

12.The test schedule should be represented and justified in such a way as to highlight anydependencies on the progress of development, the testability of the product, time required to report problems, and the project team’s assessment of risk.(做好estimation非常重要)

 

13.The test process should be kept off of the critical path to the extent possible. This canbe done by testing in parallel with development work, and finding problems worth fixing faster than the developers fix them.(测试应该尽早进入到项目中工作,critical Path在一个项目工程中,需要时间最长的路径。这条路径上的工作必须尽可能快地完成,为它决定完成总任务的时间,即完成该项目总共需要的时间不可能少于沿着关键路径去做所需要的时

 euristic Basis for heuristic

14.The feedback loop between testers and developers should be as tight as possible.

Test cycles should be designed to provide rapid feedback to developers about recent

additions and changes they have made before a full regression test is commenced.(定期developertester项目会议的召开;测试进展,BUG提交情况信息及时发送给develop team;强制开发fix bug的时候反馈tester详尽的信息,更改的componentsrisk,如果能有建议如何regression bug那更好)

 

15.The test project should employ channels of information about quality other than formal testing in order to help evaluate and adjust the test project. Examples of these channels are inspections, field testing, or informal testing by people outside of the test team.(尽量多渠道测试产品,这个可能会受客观环境所限)

 

16.All documentation related to the test strategy, including test cases and procedures,should be undergo review by someone other than the person who wrote them. The reviewprocess used should be commensurate with the criticality of the document. Test plantest case review,尽量得到别人的建议和反馈)

 

### ATE测试计划示例或模板 ATE(自动测试设备)的测试计划旨在确保被测设备(DUT,Device Under Test)的功能、性能和可靠性符合设计规范。以下是一个ATE测试计划的通用模板,结合了行业实践和相关引用[^1]。 #### 1. 测试目标 明确测试的主要目标,例如验证硬件功能、软件集成、性能指标或长期稳定性。 - 验证DUT是否满足设计规范中的所有功能要求。 - 确保DUT在各种环境条件下的稳定性和可靠性。 - 提供详细的测试结果以支持产品发布决策。 #### 2. 测试范围 定义测试的边界,包括哪些模块或功能将被测试,以及哪些内容不在测试范围内。 - 功能测试:涵盖所有主要功能模块。 - 性能测试:评估吞吐量、延迟等关键性能指标。 - 稳定性测试:模拟长时间运行场景。 - 不包含的内容:如外部接口兼容性测试、第三方库的安全性测试等。 #### 3. 测试环境 描述测试所需的硬件和软件环境。 - **硬件环境**:测试仪器(如信号发生器、示波器)、夹具、电源等。 - **软件环境**:ATE控制软件版本、操作系统、驱动程序等。 - 示例:使用NI PXIe平台作为主控设备,配合LabVIEW开发的测试脚本进行自动化测试[^2]。 #### 4. 测试用例设计 根据DUT的功能需求设计具体的测试用例。 - **输入**:定义输入信号的类型、幅度、频率等参数。 - **输出**:预期的输出结果或行为。 - **步骤**:详细说明如何设置测试条件并执行测试。 - 示例测试用例: - **用例ID**:TC001 - **描述**:验证DUT在满载条件下的输出电压稳定性。 - **输入**:输入电流为5A,负载电阻为10Ω。 - **输出**:输出电压应在标称值±1%范围内。 #### 5. 测试执行 描述测试的具体流程,包括如何启动测试、监控进度和记录结果。 - 使用ATE系统自动加载测试用例,并按照预定顺序执行。 - 实时监控测试过程中的关键参数,如温度、电流、电压等。 - 记录所有测试结果,包括通过/失败状态和具体数值。 #### 6. 结果分析与报告 分析测试结果并生成正式的测试报告。 - 比较实际测试结果与预期值,判断是否符合要求。 - 对于未通过的测试项,提供详细的失败原因分析。 - 示例报告格式: ```plaintext 测试项目: 输出电压稳定性 测试结果: 通过 实际值: 12.01V (标称值: 12V ± 1%) 备注: 符合设计规范 ``` #### 7. 风险评估与改进措施 识别潜在的风险并制定相应的缓解策略。 - **风险**:测试设备故障可能导致数据不准确。 - **措施**:定期校准测试仪器,备份测试数据。 --- ```python # 示例代码:简单的ATE测试脚本框架 def run_test(test_case): """ 执行单个测试用例 :param test_case: 测试用例对象 """ print(f"Running test case {test_case.id}") setup_environment(test_case.environment) result = execute_steps(test_case.steps) record_result(test_case.id, result) def setup_environment(env_config): """ 设置测试环境 :param env_config: 环境配置参数 """ # 初始化硬件和软件环境 pass def execute_steps(steps): """ 执行测试步骤 :param steps: 测试步骤列表 :return: 测试结果 """ # 执行每个步骤并收集结果 return "Pass" def record_result(test_id, result): """ 记录测试结果 :param test_id: 测试用例ID :param result: 测试结果 """ with open("test_results.log", "a") as f: f.write(f"{test_id}: {result}\n") ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值