硬件测试和软件测试的区别有哪些?

2020-08-26 22:17发布

6条回答
小猪仔
2楼 · 2020-08-27 09:09

硬件测试和软件测试的区别如下:

1.测试目的不同

硬件测试的目的主要是保障硬件的可靠性,以及硬件和硬件的联接关系的正确性与准确性。

软件测试的目的主要是保证软件流程的正确性,以及正确的应用逻辑关系。

2.测试手段不同

硬件测试的手段,主要是针对硬件本身以及环境的测试,比如老化测试、寿命测试、故障率测试等。

软件测试,主要是通过对软件的输入进行控制,从而达到不同的测试结果,通过输入输出的差异比较测试是否正确和准确。

3.测试工具不同

硬件测试更多的是使用硬件进行,比如示波器等。

软件测试相对来说,用到的只是数据性的工具,或者软件。

4.测试结果的稳定性不同

硬件测试有可能在相同的条件下(如相同的温度),出现不同的测试结果

软件测试的输入相同的话,如果没有引入随机数据,则其输出是相同的。


像风没有归宿
3楼 · 2020-08-27 09:22

其实硬件测试和软件测试的核心方法是一致的,确认对这方面的方法是否已成熟掌握。

拥抱太阳月亮
4楼 · 2020-08-27 14:34

其实区别不大,仔细观察的话可以是这样的:

考察方向:软件测试主要从功能、性能、质量属性等方面考察,硬件测试也包含在内,但不同的是需要考察老化方面的问题,进行老化测试,和国家要求的一些常规硬件测试,并达到国标。

流程方面:

相同的地方都是越早介入越好,但硬件测试除了要对嵌入式的程序进行测试之外,还需要对原理图、结构图、元件选择等等很多硬件研发过程中涉及的方面进行验证测试,保证每个环节的正确性。同时,还需要对每个环节的衔接进行反复验证,硬件不同于软件,接口明确了,逻辑正确了,软件问题不会非常大,但是硬件就不同了,可能接口正确,各个模块正确,就是衔接的时候会出现很多意想不到的问题,尤其是衔接的顺序和时间。

技术方面:

目前在国内基本都是靠手工测试完成,软件测试比硬件测试稍微先进点,就是可以进行比较规模化的自动化测试,尤其是web软件,更要注意并发测试。


橱窗的光
5楼 · 2021-08-25 10:18

1、软件是一种逻辑的产品,与硬件产品有本质的区别

硬件是看得见、摸得着的物理部件或设备。在研制硬件产品时,人的创造性活动表现在把原材料转变成有形的物理产品。

而软件产品是以程序和文档的形式存在,通过在计算机上运行来体现他的作用。

在研制软件产品的过程中,人们的生产活动表现在要创造性地抽象出问题的求解模型,然后根据求解模型写出程序,最后经过调试、运行程序得到求解问题的结果。整个生产、开发过程是在无形化方式下完成的,其能见度极差,这给软件开发、生产过程的管理带来了极大的困难。

2、软件产品质量的体现方式与硬件产品不同

质量体现方式不同表现在两个方面。硬件产品设计定型后可以批量生产,产品质量通过质量检测体系可以得到保障。但是生产、加工过程一旦失误。

硬件产品可能就会因为质量问题而报废。而软件产品不能用传统意义上的制造进行生产,就目前软件开发技术而言,软件生产还是“定制”的,只能针对特定问题进行设计或实现。但是软件爱你产品一旦实现后,其生产过程只是复制而已,而复制生产出来的软件质量是相同的。

设计出来的软件即使出现质量问题,产品也不会报废,通过修改、测试,还可以将“报废”的软件“修复”,投入正常运行。可见软件的质量保证机制比硬件具有更大的灵活性。

3、软件产品的成本构成与硬件产品不同

硬件产品的成本构成中有形的物质占了相当大的比重。就硬件产品生存周期而言,成本构成中设计、生产环节占绝大部分,而售后服务只占少部分。

软件生产主要靠脑力劳动。软件产品的成本构成中人力资源占了相当大的比重。软件产品的生产成本主要在开发和研制。研制成功后,产品生产就简单了,通过复制就能批量生产。

4、软件产品的失败曲线与硬件产品不同

硬件产品存在老化和折旧问题。当一个硬件部件磨损时可以用一个新部件去替换他。硬件会因为主要部件的磨损而最终被淘汰。

对于软件而言,不存在折旧和磨损问题,如果需要的话可以永远使用下去。但是软件故障的排除要比硬件故障的排除复杂得多。软件故障主要是因为软件设计或编码的错误所致,必须重新设计和编码才能解决问题。

软件在其开发初始阶段在很高的失败率,这主要是由于需求分析不切合实际或设计错误等引起的。当开发过程中的错误被纠正后,其失败率便下降到一定水平并保持相对稳定,直到该软件被废弃不用。在软件进行大的改动时,也会导致失败率急剧上升。

5、大多数软件仍然是定制产生的

硬件产品一旦设计定型,其生产技术、加工工艺和流程管理也就确定下来,这样便于实现硬件产品的标准化、系列化成批生产。

由于硬件产品具有标准的框架和接口,不论哪个厂家的产品,用户买来都可以集成、组装和替换使用。


汽水味的小盆友
6楼 · 2021-08-25 10:54

测试对象的差异


硬件测试简单点讲是对硬件的测试,包含硬件电子元件(比如二极管)硬件设备(比如继电器,电路板,智能家居类周边产品)电子设备载体(比如手机)

软件对应的可能主要分为两大类: CS(Client/Server)需要下载软件客户端和BS(Browser/Server)直接打开网页。

所以要么是打开网页在网页上测试系统(这就是软件产品),要么就是下载客户端之后登录客户端进行测试。

因为现在需求越来越多元,软硬件也越来越成熟,其实很多时候软硬件测试都有衔接,只是各自会交给不同的专业团队去测试。所以结合上面说的硬件可能就有对应软件的测试:

二极管如果有编码,并将这些编码映射到数据库,那么我们也可以通过数据库的操作来进行二极管的管理和控制。如果测试的对象就是数据库,我们也可以理解成软件测试。

智能家居类周边产品有自己的编码接口,如果我们把对应的编码对接到我们家居管理系统里,对这个系统本身的测试这就是软件测试。而在手机/平板/电脑这些硬件的载体上,我们下载的软件,打开的网页都是软件。


测试工具的差异

-因为测试对象的差异,所以针对不同的测试主体可能会采取不同的测试工具。

要测试手机的耐摔,电池的充放电就会有对应的专业测试工具

测试网页接口的正确性,我们可能有数据对比工具。

测试软件下载速度可能我们有专门数据抓取和记录工具。

-当然针对不同的测试方向也会有不同的测试工具


天天
7楼 · 2021-08-25 15:06

本质上没有太大的区别,目的都是一致的。考察方向:都是从功能、性能、质量属性等方面。硬件测试不同的是需要考察老化方面的问题,进行老化测试,和国家要求的一些常规硬件测试,并达到国标。流程方面:基本都是越早介入效果越好。硬件测试除了要对嵌入式的程序进行测试之外,还需要对原理图、结构图、元件选择等等很多硬件研发过程中涉及的方面进行验证测试,保证每个环节的正确性。同时,还需要对每个环节的衔接进行反复验证,硬件不同于软件,接口明确了,逻辑正确了,软件问题不会非常大,但是硬件就不同了,可能接口正确,各个模块正确,就是衔接的时候会出现很多意想不到的问题,尤其是衔接的顺序和时间。技术方面:目前在国内基本都是靠手工测试完成,软件测试比硬件测试稍微先进点,就是可以进行比较规模化的自动化测试,尤其是web软件,更要注意并发测试。硬件测试像EMC等国家认证的测试必须经过专门机构验证才可以。


相关问题推荐

  • 回答 157

    虽然从事开发行业的女生越来越多,但女生的比例还是远比不上男生。软件测试的男女生比例则基本相当,软件测试要求细心、耐心,大部分女生也是比较适合学的。而且软件测试课程分为手工测试和自动化测试,手工测试分为功能测试、性能测试、接口测试。自动化测试...

  • 回答 121

    需要。很多人当初抱着测试不需要懂代码,才选择了这个行业,这个就要看对自己的职业定位了,是止步于月薪过万就可以了,还是往20k、30k去突破,如果这样的话,是肯定要会接口、会自动化,就必然要涉及到代码。如果真的看不懂代码,实际的测试后期的工作会出现...

  • 回答 91

    在我看来游戏开发挺难的,尤其像手游一类的还有网游,里面有很多的程序代码而且伤神又费力,不过也有女生在这方面做的很好的,如果你感兴趣,非常想学,可以试试

  • 回答 80

    软件测试专业现在很火热,很缺少人才,25岁学软件测试能学会,就业薪资也高,工作也相对轻松

  • 回答 11
    已采纳

    测试类型有:功能测试,性能测试,界面测试。功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用...

  • 回答 15
    已采纳

    这个其实和接口测试的场景密不可分的,比如说:外部接口测试:    必须先接口测试通过了,才能执行功能测试子系统或者各个模块之间的联调测试:    必须各子系统后台代码完成,并提供接口才可以完成测试,一般来说都要求各子系统功能测试通过后再进行...

  • 回答 6
    已采纳

    这个是会因为公司的架构不同而不同的,并不是固定的,但是一般是会有专门的测试部门,或者叫质量保证部,也有可能是叫别的名字。

  • 回答 43
    已采纳

    移动端测试,包括App兼容性测dao试,7*24小时稳定性测试,功耗性能测试,UI测试,交互测试等,课程主要学习的内容有:1、功能测试主要包括计算机基础、软件测试核心理论、Linux、数据库,学习目标是掌握软件测试核心理论,结合Linux、数据库等可实现移动端、w...

  • 回答 1

    标题  1. 首先要做一个标题党(此标题党非彼标题党)。标题一定要清晰简洁易理解,不应该臃长  2. 尽量前缀要规范,例如模板: [Product][Version]_[Feature]_[Title],这样描述会很清晰,也方便查找  3. 缺陷的标题一定要描述在什么情况下发生了什么问...

  • 回答 1

    1、 缺陷报告可以记录缺陷2、可以对缺陷进行跟踪管理3、可以对缺陷报告进行分类 总结 统计

  • 回答 1

    1、缺陷编号(Defect ID),提交BUG的顺序。2、缺陷标题(summary),简明扼要的说明一下这个BUG。3、缺陷的发现者(DetectedBy) ,一般是自己。4、发现缺陷的日期(Detected on date),一般是当天。5、缺陷所属的模块(subject), 在测试哪个模块的时候发现的BUG...

  • 回答 1

    缺陷标题好的缺陷标题需要让相关人员一目了然,一般建议的格式是条件+失败。缺陷类型缺陷类型也是根据具体的项目而定的。但一般情况下分为功能、界面、建议。重现步骤重现步骤的编写规则可以参考测试用例中的操作步骤 ,一定要足够详细、说明清楚问题的操作顺...

  • 回答 1

    工具:NoSQLUnitJsTestDriverQTRunnerVenusFluintBuster.JSSQLUnitECUTQTestlibUnitilsgreatestDbUnitAbbotGoogleTest框架:JUnitMoqJSCaptureMockCUnitPyUnitCppUTestCppUnitzCUTcipra

  • 回答 1

    JunitTestNGGoogleTestpytestunittestJmockitJaCoCogcov、lcov、gcovrCoverage.pyEvoSuiteDiffblue Cover

  • 回答 1

      React Hooks测试库( Testing Library)是一个简单而完整的React Hooks测试工具。  React Hooks测试库让用户可以为React钩子创建简单的测试工具,自定义钩子的输入和检索输出,以处理在功能组件体内运行的情况。  使用React Hooks,用户不必为了测试而去担...

  • 回答 1

    1、单元测试注重代码逻辑,接口测试注重业务逻辑;2、单元测试的粒度最小,是测试最小独立的单元模块(不依赖其他模块);接口测试不是,会覆盖很多;3、单元测试是白盒测试,接口测试是黑盒测试;4、单元测试关注的是代码的实现和逻辑,测试范围较小,保证实...

没有解决我的问题,去提问