人工测试代码技术
在开始编码之后,基于计算机测试之前先人为对代码进行测试的技术。
一 为什么要对代码进行人工测试?
1 错误发现得越早,改正错误的成本越低,正确改正错误
的可能性也越大。
2 程序员在开始基于计算机的测试时内心压力会急剧增长,并产生一个趋势,要“尽可能快地修正这个缺陷”,导致在改正这个缺陷时更容易失误。而早期发现问题压力更小,失误更小。
二 人工测试方法
白盒级别:代码检查、代码走查、桌面检查、同行评审
黑盒级别:可用性测试
1 代码检查、走查相同点
1.1 都要求人们组成一个小组来阅读或直观检查特定的程序。
1.2 找出错误,无需当场改正
1.3 实施过程,除了软件编写者本人,还有其他人参与进来。
1.4 一旦发现错误,能在代码中对其进行精确定位,降低调试(错误修正)成本。
1.5 这个过程通常能发现成批的错误。
1.6 错误通常会有效地查找出30%~70%的逻辑设计和编码。
1.7 针对代码而非编码人员
1.8 避免外界干扰,90-120分钟
1.9 会得到编程风格、算法选择及编程技术等方面的反馈信息,从而受益匪浅。
2 代码检查、走查不同点
2.1 代码检查
一系列规程和错误检查技术的集合。
2.1.1 人员分配:
1》协调员(不能使程序的编码人员)职责:
• 为代码检查分发材料、安排进程。
• 在代码检查中起主导作用。
• 记录发现的所有错误。
• 确保所有错误随后得到改正。
2》程序的编码人员
3》程序的设计人员(非编码人员)
4》测试专家
2.1.2 工作内容
1》 由程序编码人员逐条语句讲述程序的逻辑结构。在讲述的过程当中,小组的其他成员应提问题、判断是否存在错误。在讲述中,很可能是程序编码
人员本人而不是其他小组成员发现了大部分错误。
2》对着历来常见的编码错误列表分析程序。
会议结束后,程序员会得到一份已发现错误的清单。若发现的错误太多,或者某个错误涉及对程序做根本的改动,协调人可能会在错误修正后安排对程序进行再次检查。这份错误清单也要进行分析,归纳,用以提炼错误列表,以便提高以后代码检查的效率。
2.1.3 代码检查错误列表
图1
图2
图3
图4
图5
2.2 代码走查
2.2.1 人员分配
1》协调人
2》秘书,负责记录所有查出的错误
3》测试人员
4》极富经验的程序员(建议)
5》程序设计语言专家(建议)
6》程序员新手(建议),提出不带偏见的新颖观点
7》最终将维护程序的人员(建议)
8》来自其他不同项目的人员(建议)
9》来自该软件编程小组的程序员(建议)
2.2.2 工作内容
不仅阅读程序、使用错误检查列表,还需执行一些测试用例。会议期间,需把测试数据沿程序的逻辑结构走一遍,程序的状态(如变量的值)记录在纸张或白板上。
测试用例遵循原则:结构简单、数量少
测试用例作用:启动代码走查和质疑程序员逻辑思路及其设想的手段,不一定由测试用例本身发现Bug。
3 桌面检查
由一个人阅读程序,对照错误列表检查程序,对程序推演测试数据。
缺点:效率低
优点:胜于不做任何检查
4 同行评审
是种依据程序整体质量、可维护性、可扩展性、易用性和清晰性对匿名程序进行评价的技术。
目的:让程序员对自身的编程技术进行自我评价。
分享到:
相关推荐
本资源提供了一套完整的人工智能数字识别系统的源代码,旨在帮助开发者和学习者理解并掌握数字识别技术的应用。这套系统能够自动识别图像中的数字,特别适用于验证码的智能解析,从而提高自动化处理的效率。 数字...
总结来说,这个分享的源代码资源是关于人工智能领域的人脸识别技术,涵盖了人脸检测这一基础环节。通过深入研究和理解这些代码,开发者可以学习到如何构建一个基本的人脸识别系统,并在此基础上进行优化和扩展,以...
学习者可以通过运行代码来理解和应用人工智能技术,同时文档可以帮助他们深入理解背后的理论和实验目的。对于想要在实践中探索人工智能的学生、研究人员或是开发者来说,这是一个宝贵的学习资源。
此压缩包包含了多个与人工智能相关的代码示例和库,对于学习AI技术的人来说是宝贵的资源。 首先,我们来看“第9章代码下载链接.txt”,这很可能是课程中第九章所涉及的编程练习或实例代码的链接集合。学习者可以...
总的来说,人工蜂群算法MATLAB测试代码是一个学习和实践全局优化算法的好资源,通过阅读和运行这段代码,你可以深入理解ABC算法的工作原理,同时掌握如何在MATLAB环境中实现并优化这类算法。对于研究和工程实践来说...
2. 机器学习与人工智能的应用:近年来,机器学习和深度学习技术在恶意代码检测中的应用越来越广泛,通过训练模型识别恶意代码的特征,有效区分正常软件和恶意软件。 3. 大数据和云计算的融合:借助大数据分析能力,...
人工测试技术是软件质量保证的重要环节,它强调通过人工的方式检查和验证软件的不同方面,以发现潜在的错误和缺陷。这种技术与自动化测试并行,是确保软件质量的有力手段。 首先,人工测试的必要性源于对软件错误的...
在本压缩包“Python项目案例源代码:人工智能.zip”中,包含了多个使用Python编程语言实现的人工智能项目源代码。这些项目旨在帮助学习者深入理解Python在AI领域的应用,涵盖机器学习、深度学习、自然语言处理等多个...
在这个“人工智能项目三代码NLP”的背景下,"Assignment3-3"可能涉及到特定的NLP技术,比如情感分析、命名实体识别(NER)或文本生成。具体细节需要查看代码来确定,但可以预见的是,这个项目提供了深入理解并实践...
人工智能技术在嵌入式代码审查中的应用与展望,是一个涉及软件工程、人工智能、机器学习、深度学习等多个领域的专业议题。本主题探讨了人工智能技术如何助力于解决嵌入式软件开发中代码审查环节面临的挑战,以及未来...
该压缩包文件“2021第三届华为云人工智能大赛 · 无人车挑战杯目标检测代码【初赛&复赛第五】.zip”是针对2021年华为云主办的第三届人工智能大赛的一个参赛作品,重点在于无人车目标检测技术。在这样的竞赛中,...
在提供的“车道线检测代码”压缩包中,应当包含了实现这些步骤的具体Python代码。通过阅读和理解这些代码,你可以学习到如何将理论知识应用到实际项目中,进一步提升你在车道线检测和自动驾驶技术方面的技能。
1. **人工智能(AI)**:在本研究中,AI主要应用于自动化地分析代码质量、检测潜在的安全漏洞以及识别恶意代码等任务。通过机器学习模型,可以训练出能够准确判断代码质量高低的算法,为用户提供客观的代码评价依据...
人工智能技术也可以融入到持续集成/持续部署流程中,通过分析代码变更、测试结果和性能指标,AI可以帮助优化构建和部署策略,自动识别可能导致问题的代码修改,提前预防故障,确保软件发布过程的稳定性和可靠性。...
标题中的“人工智能 8数码含源代码”表明这是一个关于人工智能技术在解决8数码问题上的应用,其中包含了完整的源代码。8数码问题,也被称为滑动拼图或15拼图,是一个经典的计算机科学问题,通常用于教学和研究人工...
近年来,随着人工智能技术的飞速发展,研究者和企业开始探索将人工智能技术应用于软件自动化测试领域,以解决这些问题。 人工智能(AI)是指使计算机系统模拟、延伸和扩展人的智能的一门技术,其目的是实现机器智能...
2021第三届华为云人工智能大赛 · 无人车挑战杯目标检测代码【复赛前五】.zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)...
人工智能在网络安全领域的应用主要体现在三个方面:恶意流量检测、软件漏洞挖掘和恶意代码检测。例如,人工智能可以通过分析恶意程序的系统CPU利用率、收发的数据包和API调用序列等信息,自动识别并分析出恶意程序的...
通过对这些指标的不断测试和优化,可以提高代码生成技术的整体性能,并确保生成的代码满足特定应用程序的需求。 #### 二、基于自然语言处理的代码生成 **2.1 基本原理** 基于自然语言处理的代码生成技术利用自然...