精华内容
下载资源
问答
  • 硬件设计需要工具

    千次阅读 2019-03-23 23:28:50
    工具的使用会让你事半功倍,设计有时候需要“拿来主义”,毕竟发明“轮子”的时代已经过去。言归正传,本篇文章介绍了作为硬件工程师经常使用的工具软件。 硬件设计的一般流程: 以下是笔者做硬件设计经常使用的...

    想起了一句话:人和动物的区别就是人会使用工具。工具的使用会让你事半功倍,做设计有时候需要“拿来主义”,毕竟发明“轮子”的时代已经过去。言归正传,本篇文章介绍了作为硬件工程师经常使用的工具软件。

    硬件设计的一般流程:
    在这里插入图片描述
    以下是笔者做硬件设计经常使用的软件工具(并不全面):

    EDA软件

    作为硬件设计的核心就是原理图和Layout设计,笔者常用的是Cadence(OrCAD+Allegro),当然还有其他设计软件比如PADS、AD等。有时候需要不同软件之间相互转换,所以三款设计软件一般都会安装。

    原理图仿真软件

    笔者只使用过Tina,原理图仿真是为了保证硬件设计正确性。

    原理框图设计

    一般使用Visio 进行原理图框图绘制。

    封装库软件

    一般大的芯片制造厂商(比如TI,ADI,ST)都会提供器件原理图和PCB封装,节省了很多时间。而大厂提供的一般都是bxl文件,bxl需要Ultra Librarian来打开。

    有时Ultra Librarian没有器件库,可以使用SnapEDA进行搜索查看。

    每当看到所有器件还手动画库的工程师,都会默默觉得好累啊。推荐安利这两个工具:)

    阻抗设计软件

    Polar SI9000用来计算符合阻抗设计线宽线距。

    CAM软件

    PCB设计完成要通过制板厂进行加工,板厂使用的工具基本为CAM350。作为硬件设计师需要把生成的Gerber文件导入到CAM350里进行反向检查每验证。

    结构软件

    硬件设计师前期需要和结构工程师打交道,不能所有的事都询问结构工程师,所以需要安装结构软件。

    2D结构:AutoCAD,用于查看结构输出的DXF文件,必要时可以测量尺寸。
    3D结构:Creo(前身是Pro/E),3D视角查看起来更加方便。做一些器件PCB封装的时候可以查看3D图辅助设计。

    串口工具

    嵌入式端一般使用安信可串口工具AiThinker Serial Tool,简单易用基本功能齐全。串口打印log对于调试是不可或缺的工具。
    对于跑Linux系统的来说,一般使用MobaXterm工具。该工具支持SSH,Shell,Serial功能十分强大!

    展开全文
  • 软件环境、硬件环境、开发工具

    万次阅读 2017-09-07 16:18:19
    软件环境、硬件环境、开发工具  软件环境:一般包括数据库(mysql,sqlserver,oracle,db2),运行的中间件,即应用服务器,如tomcat,jetty,jboss,weblogic,webphere,以及运行的操作系统环境,如windows,unix...
    • 软件环境、硬件环境、开发工具                                     

      软件环境:一般包括数据库(mysql,sqlserver,oracle,db2),运行的中间件,即应用服务器,如tomcat,jetty,jboss,weblogic,webphere,以及运行的操作系统环境,如windows,unix(AIX,solaris),各版本的linux等。

      硬件环境:如pc server,ibm、hp、SUN(已被oracle收购)的小型机等等;

      开发工具:有ibm开源的eclipse及衍生的myeclipse,sun的netbeans、或者收费的好用的IntelliJ IDEA等等。

      这些是搭建一个企业应用的基本要素,你的应用就跑在这上面。


    注:软件环境:还包括 接口软件、可能的性能监控与分析等软件环境的描述

    展开全文
  • 测试开发需要学习的知识结构

    万次阅读 多人点赞 2018-04-12 10:40:58
    努力成为一个优秀的测试开发从业者,加油!!! 一些视频链接:我这有一些软件测试的视频,你可以点开看看。转行互联网测试需要哪些技能? - 假装在测试的回答 - 知乎作为一名软件测试人员,有哪些网站是你应该多多...

     努力成为一个优秀的测试开发从业者,加油!!!   

    目录

    一、白盒与黑盒测试什么区分

    1、黑盒测试

    2、白盒测试

    3、白盒测试&黑盒测试对比

    4、白盒测试&黑盒测试详细介绍

    黑盒测试

    白盒测试

    二、测试相关经验

    三、测试能力培养

    一、业务分析能力

    二、缺陷洞察能力

    三、团队协作能力

    四、专业技术能力

    五、逻辑思考能力

    六、问题解决能力

    七、沟通表达能力

    八、宏观把控能力


    借楼发个招聘信息:
    【2021 MEGQA-用户质量效能部校园提前批开始啦】
    工作职责:
    -负责百度核心产品的测试工作,如信息流、搜索、百度APP、小程序、好看视频、贴吧等
    -参与产品需求、系统设计和程序代码的评审工作并提出改进意见
    -评估项目质量风险并制定项目测试方案,设计并执行测试用例,跟踪定位产品软件中的缺陷或问题,保证项目质量和进度
    -根据产品和项目特点,提出合理的自动化解决方案,并负责产品线特色化的测试框架和测试工具,运用技术手段提升代码交付的质量和效率
    -参与互联网产品整个工程生产、发布过程中的技术创新,包括研发敏捷研发工具、线上监控系统、性能测试和监督工具等精确评估线上系统表现,以创新的工作模式提升产品的用户价值
    职位要求:
    -计算机相关专业,本科及以上学历
    -能熟练地应用以下一门或几门技术进行相关开发:C/C++/Java/object-c、Linux/Unix Shell、Perl/Python/PHP、JavaScript/Html/Ajax、MySql/Oracle及相关数据库技术等
    -具备快速的产品及业务学习能力,敏捷全面的逻辑思维能力
    -有责任心、敢于担当,工作积极主动,具备良好的团队合作精神,能融入多功能团队并与其他部门同事进行良好的沟通及合作
    -热爱互联网,对互联网相关业务或技术充满好奇及热情;在软件测试领域,对发现、分析及解决问题的工作有浓厚兴趣

    感兴趣的同学可以将简历投递至liujunping@baidu.com

     

    ========================================================================================

    一些视频链接:我这有一些软件测试的视频,你可以点开看看。

    转行互联网测试需要哪些技能? - 假装在测试的回答 - 知乎

    作为一名软件测试人员,有哪些网站是你应该多多关注的,哪些书籍是你必须要看的? - 假装在测试的回答 - 知乎

    一、白盒与黑盒测试什么区分

    1、黑盒测试

    黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。

    2、白盒测试

    白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。

    “白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。

    软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:
    – 对程序模块的所有独立的执行路径至少测试一次;
    – 对所有的逻辑判定,取 “ 真 ” 与取 “ 假 ” 的两种情况都至少测试一次;
    – 在循环的边界和运行界限内执行循环体;
    – 测试内部数据结构的有效性,等。
    具体包含的逻辑覆盖有: – 语句覆盖 – 判定覆盖 – 条件覆盖 – 判定-条件覆盖 – 条件组合覆盖 – 路径覆盖。

    3、白盒测试&黑盒测试对比

    白盒测试技术 (White Box Testing) : 深入到代码一级的测试,使用这种技术发现问题最早,效果也是最好的。该技术主要的特征是测试对象进入了代码内部,根据开发人员对代码和对程序的熟悉程度,对有需要的部分进行在软件编码阶段,开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。这一阶段测试以软件开发人员为主,在 JAVA 平台使用 Xunit 系列工具进行测试, Xunit 测试工具是类一级的测试工具对每一个类和该类的方法进行测试。

    黑盒测试技术( Black Box Testing ):黑盒测试的内容主要有以下几个方面,但是主要还是功能部分。主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,根据软件需求,设计文档,模拟客户场景随系统进行实际的测试,这种测试技术是使用最多的测试技术涵盖了测试的方方面面,可以考虑以下方面:

    1正确性 (Correctness) :计算结果,命名等方面

    2可用性 (Usability) :是否可以满足软件的需求说明。

    3边界条件 (Boundary Condition) :输入部分的边界值,就是使用一般书中说的等价类划分,试试最大最小和非法数据等等。

    4性能 (Performance) : 正常使用的时间内系统完成一个任务需要的时间,多人同时使用的时候响应时间在可以接受范围内。 J2EE 技术实现的系统在性能方面更是需要照顾的,一般原则是 3 秒以下接受, 3-5 秒可以接受, 5 秒以上就影响易用性了。如果在测试过程中发现性能问题,修复起来是非常艰难的,因为这常常意味着程序的算法不好,结构不好,或者设计有问题。因此在产品开发的开始阶段,就要考虑到软件的性能问题

    5压力测试 (Stress) : 多用户情况可以考虑使用压力测试工具,建议将压力和性能测试结合起来进行。如果有负载平衡的话还要在服务器端打开监测工具 , 查看服务器 CPU 使用率,内存占用情况,如果有必要可以模拟大量数据输入,对硬盘的影响等等信息。如果有必要的话必须进行性能优化 ( 软硬件都可以 ) 。这里的压力测试针对的是某几项功能。

    6错误恢复 (Error Recovery) :错误处理,页面数据验证,包括突然间断电,输入脏数据等。

    7安全性测试 (Security) :这个领域正在研究中,防火墙、补丁包、杀毒软件等的就不必说了,不过可以考虑。破坏性测试时任意看了一些资料后得知 , 这里面设计到的知识 内容可以写本书了 , 不是一两句可以说清的,特别是一些商务网站,或者跟钱有关,或者和公司秘密有关的 web 更是需要这方面的测试,在外国有一种专门干这一行的人叫安全顾问,可以审核代码,提出安全建议,出现紧急事件时的处理办法等,在国内没有听说哪里有专门搞安全技术测试的内容。

    4、白盒测试&黑盒测试详细介绍

    黑盒测试

      · 等价类划分方法
      · 边界值分析
      · 错误推测
      · 因果图方法
      · 判定表驱动分析方法
      · 正交实验设计方法:取正交的测试用例组合
      · 功能图分析方法
    1)等价类划分:
      把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一个子集中选取少数具有代表性的数据作为测试用例,该方法是一种重要的,常用的黑盒测试 用例设计方法。等价类划分可有两种不同的情况:有效等价类和无效等价类。
      有效等价类:对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
      无效等价类:与有效等价类的定义相反。
    2)边界值分析法:
      边界值分析方法是对等价类划分方法的补充。长期的测试 工作经验告诉我们,大量的错误是发生在输入或者输出范围的边界上,而不是发生在输入输出范围的内部,因此针对各种边界情况设计测试用例,可以查出更多的错误。
      使用边界值分析方法设计测试用例,首先应确定边界情况,通常输入和输出等价类的边界,就是应着重测试的边界情况,应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取边界类中的典型值或任意值作为测试数据。
    3)错误推测法:
      基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
      列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。例如,在 单元测试时列出的许多在模块中常见的错误,以前产品测试中经常发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为零的情况;输入表格为空格或者输入表格只有一行,这些都是容易发生错误的情况,可选这些情况下的例子作为测试用例。
    4)因果图方法:
      前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系。考虑输入条件之间的相互组合,可能会产生一些新的情况,但要检查输入条件的组合意识一件容易的事情,因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例,这就需要利用因果图。
    因果图方法最终生成的是判定表,它适合于检查程序输入条件之间的各种组合情况。
    利用因果图生成测试用例的基本步骤:
      (1) 分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符.
      (2) 分析软件规格说明描述中的语义.找出原因与结果之间, 原因与原因之间对应的关系. 根据这些关系,画出因果图.
      (3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不不可能出现. 为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件.
      (4) 把因果图转换为判定表.
      (5) 把判定表的每一列拿出来作为依据,设计测试用例.
      从因果图生成的测试用例(局部,组合关系下的)包括了所有输入数据的取TRUE与取FALSE的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而线性地增加.
      前面因果图方法中已经用到了判定表.判定表(Decision Table)是分析和表达多逻辑条件下执行不同操作的情况下的工具.在程序设计发展的初期,判定表就已被当作编写程序的辅助工具了.由于它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确.
    5)判定表通常由四个部分组成.
      条件桩(Condition Stub):列出了问题得所有条件.通常认为列出得条件的次序无关紧要.
      动作桩(Action Stub):列出了问题规定可能采取的操作.这些操作的排列顺序没有约束.
      条件项(Condition Entry):列出针对它左列条件的取值.在所有可能情况下的真假值.
      动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作.
      规则:任何一个条件组合的特定取值及其相应要执行的操作.在判定表中贯穿条件项和动作项的一列就是一条规则.显然,判定表中列出多少组条件取值,也就有多少条规则,既条件项和动作项有多少列.
       判定表的建立步骤:(根据软件规格说明)
      ①确定规则的个数.假如有n个条件.每个条件有两个取值(0,1),故有 种规则.
      ②列出所有的条件桩和动作桩.
      ③填入条件项.
      ④填入动作项.等到初始判定表.
      ⑤简化.合并相似规则(相同动作)
      B. Beizer 指出了适合使用判定表设计测试用例的条件:
      ①规格说明以判定表形式给出,或很容易转换成判定表.
      ②条件的排列顺序不会也不影响执行哪些操作.
      ③规则的排列顺序不会也不影响执行哪些操作.
      ④每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则.
      ⑤如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要.

    白盒测试

    白盒测试的方法:总体上分为静态方法和动态方法两大类。

    静态分析是一种不通过执行程序而进行测试的技术。静态分析的关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义。

    动态分析的主要特点是当软件系统在模拟的或真实的环境中执行之前、之中和之后 , 对软件系统行为的分析。动态分析包含了程序在受控的环境下使用特定的期望结果进行正式的运行。它显示了一个系统在检查状态下是正确还是不正确。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的六种覆盖测试方法属于动态分析方法。

    本文介绍六种白盒子测试方法:(强度由低到高)语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

    1)所谓语句覆盖:就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。这里的“若干个”,意味着使用测试用例越少越好。语句覆盖率的公式可以表示如下:

    语句覆盖率=被评价到的语句数量/可执行的语句总数 x 100%

    2判定覆盖:使设计的测试用例保证程序中每个判断的每个取值分支(t or f)至少经历一次

    [优点]:判定覆盖具有比语句覆盖更强的测试能力,而且具有和语句覆盖一样的简单性,无需细分每个判定就可以得到测试用例。

    [缺点]:往往大部分的判定语句是由多个逻辑条件组合而成(如,判定语句中包含AND、OR、CASE),若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。

      例如:

      int a,b;

      if(a || b)

      执行语句1

      else

      执行语句2

    要达到这段程序的判断覆盖,我们采用测试用例:1)a = true , b = true ;2)a = flase, b = flase

    3条件覆盖:条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支

    条件覆盖要检查每个符合谓词的子表达式值为真和假两种情况,要独立衡量每个子表达式的结果,以确保每个子表达式的值为真和假两种情况都被测试到。

    4 判定条件覆盖:判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行,即要求各个判断的所有可能的条件取值组合至少执行一次。

    5) 条件组合覆盖:在白盒测试法中,选择足够的测试用例,使所有判定中各条件判断结果的所有组合至少出现一次,满足这种覆盖标准成为条件组合覆盖。

    6路径覆盖:是每条可能执行到的路径至少执行一次;

     说明:其中语句覆盖是一种最弱的覆盖,判定覆盖和条件覆盖比语句覆盖强,满足判定/条件覆盖标准的测试用例一定也满足判定覆盖、条件覆盖和语句覆盖,条件组合覆盖是除路径覆盖外最强的,路径覆盖也是一种比较强的覆盖,但未必考虑判定条件结果的组合,并不能代替条件覆盖和条件组合覆盖。

    举例:

    if A and B then Action1

    if C or D then Action2

    1)语句覆盖最弱,只需要让程序中的语句都执行一遍即可 。上例中只需设计测试用例使得A=true B=true C=true 即可。

    2)分支覆盖又称判定覆盖:使得程序中每个判断的取真分支和取假分支至少经历一次,即判断的真假均曾被满足。上例需要设计测试用例使其分别满足下列条件即可(1)A=true,B=true,C=true,D=false(2)A=true,B=false,C=false,D=false。

    3)条件覆盖:要使得每个判断中的每个条件的可能取值至少满足一次。上例中第一个判断应考虑到A=true,A=false,B=true,B=false第二个判断应考虑到C=true,C=false,D=true,D=false,所以上例中可以设计测试用例满足下列条件(1)A=true,B=true,C=true,D=true(2)A=false,B=false,C=false,D=false。

    4) 路径覆盖:要求覆盖程序中所有可能的路径。所以可以设计测试用例满足下列条件(1)A=true,B=true,C=true,D=true(2)A=false,B=false,C=false,D=false(3)A=true,B=true,C=false,D=false(4)A=false,B=false,C=true,D=true。

    二、测试相关经验

          测试流程方面我的组长是一位经验丰富的老测试了,到目前已经9年了,我在她的带领下,从最开始的分析需求开始,逐步地跟着项目走完整个测试流程,包括纯手工测试,包含了自动化的测试流程,包含了性能测试的测试流程,直至每一个测试报告的最终形成。使我完全理解了一个科学,正确,严谨,正规化的测试流程。

           测试方法方面我个人特别注重理论知识和实际操作相结合,在理论知识方面,我主要是购买一些书籍,从最基础的软件测试理论到各种各样的程序设计语言,再到自动化测试,包括Java语言的自动化测试,Python语言的自动化测试,到性能测试的各项性能指标的分析,数据分析都是我自己提供书籍上的知识来获得的,在淘宝上面有各种各样的书籍和视频教程,我基本上都看了个遍,到目前为止,我的各种学习资料用了1T的移动硬盘来装,书籍也有一百多本了,在实际操作方面,我主要向我的组长请教,她是因为女生,特别注重细节,当我有不懂得地方就去请教她,我会问她为什么要这么操作,然后我会对比理论和实际的区别,为什么有这种区别。就这样我就通过一个个的项目来夯实理论知识和实际操作,每一次做完项目我都会进行一个总结,自己学到了哪些新的技术和方法?遇到了哪些新的问题?以后再遇到怎么处理?

           新的知识补充方面:随着项目的不同,所运用的知识也不同,每一次学习不同的知识既是工作项目的需要,也是自己学习新知识的契机,比如说学习python语言,本来我们测试人员是不用写代码的,或者说可以用Java写,但是目前市面上都在用python语言来写自动化测试脚本,肯定是有它的道理的,那么我当时给自己的目标并不是仅仅为了满足写自动化脚本那么简单,我还想把python语言全部学会,我下定决心之后就立即着手执行,因为我本来就是开发出身,会代码,所有的语言都是相通的,都有变量,流程控制语句,和方法三大内容。JavaScript和Python都是弱类型,解释性的语言,所以在学习的时候我就在对比起来学习,很快学会了这门语言,所以我个人觉得,不管做什么,我们不仅仅要会用它,而且要知道它为什么这样用?最好是能够精通,对我们的测试工作是十分有利的。

           知识结构方面我们作为一个测试人员,不仅仅要做好本职工作,把自己的测试技术练好,而且还要一个广泛涉猎,对前台,后台,硬件知识,网络知识都应该去学习,对我们快速定位bug,提出有效针对性的修改硬件非常有好处,如果有条件的话,尽量向全栈发展。开发的发展方向是向深度和精度发展,而测试是一个向广度发展的岗位,需要不同的知识来融合,因为我们测试的是一个集成的,有多种技术融合而成的系统项目,就需要我们广泛涉猎和学习,所以从职业规划和寿命度上面来看,测试的工作也是非常的不错,所以不断的学习才是硬道理!

           团队的氛围方面我本人是军人出身,历来重视团结的重要性,所以和开发人员,测试人员,需求人员以及上级相处要从大局出发,我们的每一个人员都是一个项目不可或缺的一份子,必须团结起来,才能为最后产品的顺利交付打好基础条件,所以同事之间的相处是最需要拿捏分寸的,特别是开发人员,人和人都是相互的,只要讲道理,相信别人是会理解的,总之一句话:从整个项目的大局出发,把工作做好。

           回首测试经历,我总结了以下几点:

           1.不断学习,不能丧失对新知识学习的渴望,对旧的知识形成体系,夯实基础,测试理论知识基本上这么多年以来没有变过,主要是一些方法和工具的改变和升级,广泛涉猎相关知识,为测试工作服务;

           2.搞好内部团结,建立起亲密的同事关系,不仅是对个人社交能力还是对自己的工作上的能力都是一个提升,都是百利而无一害的!

    三、测试能力培养

    一、业务分析能力

    1.分析整体业务流程

    不了解整个公司的业务,根本就没办法进行测试

    2.分析被测业务数据

    了解整个业务里面所需的数据有哪些?哪些是需要用户提供的?哪些是自己提供的?有哪些可以是假数据?有哪些必须是真数据?添加数据的时候可以用哪个库?

    明白了整个软件的数据库架构,才能知道哪一个数据是从哪一个表里头带出来的,它的逻辑是什么,有没有连带关系。

    3.分析被测系统架构

    用什么语言开发的?用的是什么服务器?测试它的话需要用什么样的环境进行测试?整体的测试环境是什么样的?

    如果缺少了,需要进行环境搭建,架构搭建。一般去一家新公司之后,架构是搭建好的,了解它即可,熟悉之前的这些老员工们使用什么样的架构去做的。

    4.分析被测业务模块

    整个软件有哪些模块,比如说首页面、注册页面、登录页面、会员页面、商品详情页面、优惠券页面等等

    明白有多少个模块需要测试,每个模块之间的连带关系,进而怎样进行人员分工

    5.分析测试所需资源

    我需要几台计算机,需要几部手机,手机需要什么样的系统,什么样的型号。

    比如测一个网站的性能的时候,电脑的配置达不到测试并发5000人的标准,要么升级电脑的硬件配置,要么多机联合,多机联合时需要几台电脑,都需要提前筹划。

    6.分析测试完成目标

    我的性能目标是什么样的?我的功能目标是什么样的?我要上线达到的上线标准是什么样的?

    性能目标,比如我要达到并发5000人的时候,CPU占用率不能高于70%,内存占用率不能高于60%,响应时间不能超过5秒

    功能目标,比如整体的业务流程都跑通,所有的分支流程都没有问题,所有的接口都能够互相调用,整体的UI界面没有问题,兼容性没有问题等

    把这些问题都弄清楚,测试的思路会非常的清晰

    二、缺陷洞察能力

    1.一般缺陷的发现能力

    至少你要满足一般缺陷的发现能力,这个是最基本的,如果要连最简单的一般的缺陷都发现不了的话,别说优秀测试工程师了,你说你是测试我都不信

    2.隐性问题的发现能力

    在软件的测试过程当中有一些缺陷藏的比较深,有的是性能方面的问题,有的是功能方面的问题,它需要有一些设定特定的条件的情况下才会出现这样的问题。

    比如说买双鞋必须选择的是什么品牌,必须选择是红颜色,必须选择44号,而且必须选择用特定的支付方式才会出现这样的bug的时候,那么这种就属于特别隐性的bug,对于这样的问题的发现能力一定要比别人更强,要找到一些别人可能发现不了的bug

    3.发现连带问题的能力

    当发现了一个缺陷之后,能够想到通过这个缺陷可能会引发其他哪个地方出现问题,这就叫做连带的问题。而不是说发现这一个bug之后提了这一个就算完了,一定要有一个察觉,可能其他地方也存在这样的问题。

    4.发现问题隐患的能力

    有些软件里边可能有一些操作模块,或者是代码写的接口,表面上没有什么问题,但是它是有隐患的,比如说这个接口写的不稳定,当他传的数据有一些问题的时候,可能它最后返回的结果就是报错就是报404或者报乱码。

    5.尽早发现问题的能力

    如果你只能停留在界面级别的话,那你根本就没有办法达到尽早发现问题的这个能力

    你必须要等到前端人员把每个界面都做好了之后才能进入测试,而我能比你早一个月进入测试了,然后我比你结束测试时间快一个月,而你又比我晚一个月,那么咱俩的薪资一下就拉开了

    6.发现问题根源的能力

    需要知道这个缺陷它到底是由什么原因产生的,是属于什么类型的缺陷,是ui前端人员做的问题,还是后台接口人员做的问题?

    不仅要找到这个bug,还要知道这个bug产生的原因,这样的测试人员是非常棒的,而且很是受人尊敬,提bug的方式也就不一样了

    三、团队协作能力

    1.合理进行人员分工

    合理的进行人员分工是提高效率的重要保证

    2.协助组员解决问题

    比如说测试在赶进度,或者这个软件项目的质量把控是一个团队来把控的,协助组员解决问题就显得尤为关键

    3.配合完成测试任务

    一个团队里边的人员分工,他们的任务都是不一样的,这就是咱们说的配合。你的东西做完了,要轮到我了,我的性能测完了之后该轮到你了,所以整个的一个流程下来之后,大家应该是各司其职,配合得非常紧密的一个过程

    4.配合开发重现缺陷

    我给你提bug,你改我的bug,咱们的目的只有一个,就是让这个软件变得更好,所以在这样的情况下,咱们就一定要配合开发

    5.督促项目整体进度

    既然是一个团队协作的过程,就一定要互相的去督促对方,包括督促开发去改bug,因为开发人员他们有时候工作很忙,他们不知道要先改哪些问题,要后改哪些问题,但是往往有一些缺陷,它影响了测试的这个时间,影响了测试的进度,那么这个时候就需要测试员去督促开发人员,让他尽快的去解决你棘手的问题。这个东西能够提高咱们的测试效率

    6.出现问题勇于承担

    愿意背锅的最后都成为了领导,不愿意背锅的最后依然是员工

    四、专业技术能力

    1.掌握测试基础知识

    基础知识就是根基,根基打好了,你才能够更有效地往后期发展,也就是为了以后的学习做一个铺垫。如果根基都没打好,功能测试不会,就想直接学性能,那性能是做不好的

    2.娴熟运用测试工具

    熟悉工具和熟练使用工具完全是两个概念,熟悉工具基本上等同于不会,遇到过很多简历上写会使用什么什么工具,都没有实际能力。比如loadrunner只会一个简单的录制,增强一下脚本,觉得会用了,那知识会用了1/5,其他4/5 都不会。

    3.了解工具操作原理

    它是怎么样给服务器发送请求的,是用什么样的方式去发送请的,是用什么样的方式去监控的,它的操作原理是什么样的,咱们要把这件事情搞清楚,这样的话能有助于更好的去使用这些东西。包括一些请求的协议,每个协议代表什么意思,它是用来干什么的。

    4.自主完成测试任务

    一定要能够自己完成一个独立的内容,独立的工作,这件事情领导你交给我好了,放心我能给你搞定,要的是这样的人

    5.找出问题出现原因

    找出缺陷的时候,不仅要看它的表面,还要看它的本质

    6.提供问题解决方案

    发现问题不是能力,发现问题并提出解决方案才是真的能力

    7.提供完整测试报告

    测试报告能够说明你表达的清不清楚?领导能不能看懂?还有就是能不能够把你整个测试的过程给它梳理得非常详细,人家能够通过你的报告,能够了解到整个的项目的情况,而不是只了解一个片面的情况

    8.了解相关技术领域

    触类旁通

    五、逻辑思考能力

    1.判断逻辑的正确性

    面试官也经常会给测试人去出一些逻辑题,逻辑题能够分析出来你这个人思维有没有?活跃不活跃?还有他的维度,包括他想的问题的全面性,都能够判断得出来。

    比如说去买一样商品,它的里边逻辑就会经常会出现很多问题,比如说它的会员的级别,什么样的级别去买什么样的商品,它的价格不一样,什么情况下会给优惠券,什么样的情况下不给优惠券?达到多少钱的情况下才能够使用优惠券?如果说这里边的逻辑出现了问题的话,那么整个的业务不用再测了

    2.对可行性逻辑分析

    要去测一个网站的逻辑的时候,一定要先思考这一个业务流程可能会涉及到哪些逻辑,这些逻辑哪些是可行的,有些是正向逻辑,有些是逆向逻辑,都要考虑全面,而不是说只是把正向的逻辑测试全面了,逆向逻辑不考虑。其实往往更容易出错的地方就是逆向逻辑

    3.思维导图梳理思路

    思维导图工具能够起到什么作用,能够让你更有效的进行测试,能够让你的思路更清晰

    4.站在客观角度思考

    去测试的时候,不要仅仅只是站在测试人员的角度上去对整个网站进行测试,还更多的要站在用户的角度,要替用户考虑

    六、问题解决能力

    1.技术上的问题

    把自己的个人能力提升起来,多跟别人虚心请教,多去自己想办法解决问题

    2.工作中的问题

    在任何的企业里边去工作,肯定会遇到一些工作当中的一些不愉快的事情,而不是什么事情都会让你很顺心。所以要去处理工作上的一些不顺心的事情,不要把它带到你的工作上,或者是你的生活上,尽可能的去跟别人沟通,去解决这个工作上遇到的麻烦

    3.同事间的问题

    在工作当中可能会涉及到跟开发人员的沟通,跟产品人员的沟通,跟ui人员的沟通,跟这三方的人员去沟通的时候,就要用不同的沟通方式

    4.领导层的问题

    如果你觉得你的领导不好,或者说你觉得对你的领导一些建议,不要的去跟同事之间去说他坏话或者怎么样的,领导需要的是解决问题的人,而不是制造问题的人

    七、沟通表达能力

    1.和技术人员的沟通

    跟开发人员阐述缺陷时要简洁明了、清晰易懂。当发现严重缺陷时,也不要大惊小怪,要站在开发人员的角度思考如何解决问题。而不是踩在开发头上,炫耀自己发现问题的能力。

    2.和产品人员的沟通

    当对产品提出意见时,要站在用户的角度去说明自己的想法,而不要主观认为不好而要求产品进行修改。

    3.和上级领导的沟通

    跟领导沟通时要有大局观,不能只考虑自己部门的情况。并且与领导沟通时,尽量直奔主题,不要拐弯抹角,当与领导意见不一致时,也不要直接反驳,应该先给予认可,再阐述自己的想法。

    4.在集体会议中沟通

    在集体会议中不要一味的突出自己的个人能力,不要当话痨,也不要默默无闻。适当的提出一些自己的见解,有助于让大家更加重视你的存在。切记不要在多人会议中,去指责别人和推卸问题。各个部门的同事,都要面子~

    5.与下级员工的沟通

    与下级沟通时不要摆高姿态,不要让下级产生畏惧感,应该更多的为下级解决问题。服务好部门的同事,才能更好的产生凝聚力。

    八、宏观把控能力

    1.有效控制测试时间

    测试周期的时间控制,应当采取多种方法去衡量,例如人员能力,人员数量,项目复杂程度,同类项目的测试经验等多方面去衡量。

    2.有效控制测试成本

    测试成本指的是人员成本跟时间成本,不要浪费每个人的时间跟劳动力,要让每个人充分发挥最大的价值。

    3.有效制定测试计划

    测试计划对于一个项目是核心关键,它的存在为了让测试进行中有依据可查。所以测试计划,一定要切合实际情况,要经过思考和衡量最后得出计划安排。

    4.有效控制组员情绪

    组员的情绪可以直接影响测试进度跟测试的质量,当有组员出现思想问题时,应当及时沟通,采取一些必要的措施去解决问题。而不能装看不见。

    5.有效进行风险评估

    任何项目在进行期间都存在许多潜在的风险,例如,人员离职,生病请假,业务变更,需求变更,服务器或其他组件故障等。应当提前做出相应的解决方案,以免到时候手忙脚乱。

    6.有效控制测试方向

    测试的方向是指测试的目标和测试的范围,很多项目的测试是有针对性的,例如性能测试,所以在测试中,一定要随时清楚测试的目标和目的是什么,以免把时间浪费在无关紧要的业务上。

    展开全文
  • 华为硬件开发

    千次阅读 多人点赞 2018-12-28 18:24:35
    华为硬件开发小结“华为是怎样开发硬件的”——之一1、文档、评审、设计2、华为的流程“华为是怎样开发硬件的”——之二1、归一化“华为是怎样开发硬件的”——之三1、华为电路设计“华为是怎样开发硬件的”——之四...

    出处

    微信公众号–电子工程专辑–漫谈华为硬件开发结

    “华为是怎样开发硬件的”,作者朱晓明。博主将其中自己认为的重点做了摘录,供自己和大家做参考,想做深究请到文末下载资料!

    “华为是怎样开发硬件的”——之一

    1、文档、评审、设计

    (1)将工作拆散,大部分员工就成为螺丝钉,能减少因员工离职对项目进度产生的风险。
    (2)文档化进一步整理思路,讨论、评审进一步增加项目可行性。
    (3)该模式下,缺点明显,即沟通成本高,工作效率低。

    2、华为的流程

    (1)IPD(Integrated Product Development)流程来自IBM,并在使用中加入了华为特色。
    (2)华为的硬件开发流程:
    需求分析->总体设计->专题分析->详细设计->逻辑详设->原理图->PCB->检视->粘合逻辑->投板->生产试制->回板调试->单元测试->专业实验->系统联调->小批量调试->硬件稳定->维护
    (3)支撑IPD流程的系统是PDM(又名爬的慢)
    PDM(Product DataManagement 产品数据管理)。PDM是一门用来管理所有与产品相关信息(包括零件信息、配置、文档、CAD文件、结构、权限信息等)和所有与产品相关过程(包括过程定义和管理)的技术。华为所有的器件资料、产品部件、工具、文档、原理图、PCB、逻辑代码等都存在这个系统上。(系统过于庞杂,较为难用)

    “华为是怎样开发硬件的”——之二

    1、归一化

    (1)器件归一化

    • 在一个板子上面,尽可能选择成本更低的器件,选择更少种类的器件,便于集中采购,同时便于加工。
    • 影响因素是器件直接成本收益、器件发货数量、编码成本、加工成本,如去除5%精度的电阻,归一化到1%的。

    (2)单板归一化

    • 单板即各个功能模块的电路板
    • 好处:电路种类的减少,硬件生产和维护成本降低,软件的开发和维护成本降低。
    • 单板归一化首先需要处理器归一化,其次需要模块归一化(能复用),最后需要结构归一化。
    • 处理器归一化,避免X86、MIPS、ARM、PPC都用一遍,减少各操作系统(Linux、BIOS、Vxworks)下需要配备的各种软件人员。
    • 模块的归一化,如核心板能复用,能极大缩短功能类似电路板的设计周期。
    • 结构的归一化,结构件做到兼容能极大减少维护成本。

    “华为是怎样开发硬件的”——之三

    1、华为电路设计

    (1)硬件工程师的价值所在

    • 一般硬件工程师的误区是,认为自己的核心竞争力是熟练使用软件(AD、Protel),画原理图,画PCB,其实不然。
    • 重点在于懂硬件原理,电路分析,模电数电原理,电磁场理论,辅助是用熟画图软件。

    (2)电路设计流程

    • 例行的,每个电路一般都会做几个必选的专题:电源、时钟、小系统;确定各个管脚的用法、连接方式、电平是否符合要求,并归档化。
      电源专题,需要分析电源需求,每种电源的电压范围,电流需求,动态响应,上电时序;时钟专题,针对每个时钟的输入的电平标准,频率,
      抖动等参数,时钟时序,并按照各种时钟解决方案进行优化;
    • 电路设计中遇到新问题,如果较为重要,需要做该问题点的专门分析,然后画原理图。
    • 开发硬件时,Demo只是作为参考,设计依据来源于datasheet,同时需要查看数据手册的勘误表errata,必要时需要关注checklist。
    • 交付周期的限制,让每个问题点都做透彻分析成为不可能,这个时候《问题跟踪表》的使用能有效降低项目风险。

    (3)简而言之

    • 华为用1 ~ 2个月做电路分析,用1 ~ 2周画原理图,取代了,画图,调试,改版,再调试,再改版的流程。

    “华为是怎样开发硬件的”——之四 (器件选型)

    1、器件选型规范

    • 规范是大量理论分析+经验积累+实践数据的精华。
    • 规范不能根据实际需求和技术变动来调整,会限制项目做的更好,这就需要硬件工程师跳出”参考电路“、跳出”规范“,
      从原理角度出发思考问题、做设计。

    2、器件选型需要考虑的因素

    • 华为的PDM系统上,器件有对应的优先等级,”优选“、”非优选“、”禁选“、”终端专用“

    (1)可供应性

    • 华为会慎选生命周期处于衰落的器件,禁止选用停产的器件。
    • 关键器件,需要至少有两个品牌的型号互相替代(甚至方案级替代),如是独家供货,需层层汇报,决策,风险评估。

    (2)可靠性

    • 散热:功率器件优先选用Rja热阻小、Tj结温更大的封装型号;处理器选型,在性能满足情况下,尽量选择功耗小的器件。
      像Intel这样垄断的器件,只能忍受,加散热器,加风扇。
    • ESD:所选元器件抗静电能力至少达到250V。特殊器件如射频器件抗ESD能力至少100V,并设计防静电措施。华为禁止裸手拿板,排除静电损坏器件。
    • 安全:使用的材料要求满足抗静电、阻燃、防锈蚀、抗氧化以及安规等要求。
    • 失效率:避免失效高的器件。
    • 失效模式:需要考虑一些器件的失效模式是开路还是断路,评估后果。

    (3)可生产性

    • 不选用封装尺寸小于0402的器件。尽力选择表贴器件,只做一次回流焊,就完成焊接,不需要进行波峰焊。不可避免的话,要考虑能否采用
      通孔回流焊的工艺完成焊接。减少焊接的工序和成本。

    (4)环保

    • 华为产品发往欧洲的,需要注重环保,满足无铅化要求。

    (5)考虑归一化

    • 某产品大量出货时,即使前期选型不合适,也可以通过走量来获得成本优势。该情况下,优先选择成熟期的器件,慎选导入期和衰落期的。

    (6)行业管理

    • 某一大类(如电源、时钟、处理器、内存、Flash)都是专人做整个公司使用的规划和协调,提前进行市场调研,分析,编写规范。

    (7)器件部门

    • 专门有器件部门的同事分析器件的失效原因,可靠性分析,拍摄器件的X光,评估器件寿命等工作。

    (8)成本

    • 如果上述因素都不致命情况下,上述的因素都是浮云,成本才是核心!

    “华为是怎样开发硬件的”——之五 (白板讲解)

    1、好处

    • 深刻理解细节,多人谈论能把问题谈论更透彻,发挥团队最优水平,确保设计正确。
    • 讲解累积成培训,然后累积为教材,能促进技术积累。
    • 形成技术比试的氛围,激发好胜心,能快速提升个人技术,同时便于伯乐寻马。
    • 有效改善团队氛围,增进成员间技术认可度。

    “华为是怎样开发硬件的”——之六 (问题公关)

    1、产品事故

    • 一般会造成安全事故(产品造成的机房火灾)、客户损失(业务中断)、客户投诉(影响公司的品牌形象)

    2、产品问题

    • 通过一些”可维护性“、”可测试性“的软硬件设计尽力定位问题,或者通过寄存器、日志查看设备异常的记录。

    3、单板返还

    • 华为的”单板返还率“是非常重要的KPI。

    4、试验(如EMC、环境)与测试问题

    • 凡是”实验室“问题,若不解决定会在产品使用中出现
    • 凡是出现过的问题,定能被复现。
    • 凡是不能复现的问题,定是没有找到复现的规律。

    5、公关形式

    • 攻关组
      成立”某某问题“攻关组,组织相关人员和有经验的人员,一起讨论,拓展思路,丰富经验。避免钻牛角尖或无头苍蝇。
    • 例会
      重大问题公关,一定每天例会,对工作及时汇总跟进,记录结论,清晰下一步工作。
    • 日报
      进度跟进并及时反馈到领导处,提高调配资源和人力的权限。
    • 总结
      问题解决后,整理成案例、培训,与大家分享,提升团队。

    “华为是怎样开发硬件的”——之七 (开会)

    1、华为会议特点

    • 大公司通病是会多,华为便是。会多自然会造成扯皮事情。
    • 主要负责人人选清晰,权限足够,能协调资源,推动事情进步。
    • 问题都会记录、跟踪、完成,这也是前期产品质量有问题时,客户依然愿意使用。
    • 林大鸟杂。华为通过强大而明确的绩效评价体系,去引导员工主动承担任务,而不是先扯皮。
    • 产品定义会议需要发散,解决问题需要聚焦。不能阶段的会议,华为会有人控制会议走

    2、罗伯特议事法则实践

    (1)开会易出现的问题

    • 跑题:各讲各的,对牛弹琴。
    • 一言堂:领导能发挥,”我先简单说三点…再补充两点…最后再强调一点…“,然后会议就差不多了。
    • 野蛮争论:精力过多关注阴暗面,有甩锅冲动
    • 打断:有表达冲动,易打断别人的言论

    (2)法则

    • 主持人来解决以上问题
    • 但是国情中,领导身上出现问题时,领导若是强势或者主持人是马屁精,问题就没法解决,华为解决方案如下。
    • A、大基调为“以客户为中心”,客户需求一律允诺,一律搞定,这样的基调下,大家不会出现大的分歧。
    • B、绩效导向,一切按照结果去评价绩效。故某些问题上,领导提出某个方案存在重大隐患时,下属有责任和动力去提醒和反对的。
    • C、教育主管。主管培训时,华为会注重教育主管控制倾听、交流、沟通的节奏和分寸。

    3、减少无效会议

    • 领导一言堂后,团队成员待领导走后再商量怎么应付领导,这样的会议,明显无效。
    • 保证会议有效的措施如下:

    (1)例行会议,有议题

    • 每周例会明确议题和对应的时间,避免跑题。

    (2)会议有纪要

    • 每次开会的会议主持人,会议纪要人要明确。纪要人能简洁记录关键要点。
    • 纪要要明确会议结论,遗留问题,对应责任人,完成时间点。
    • 纪要要有模板,符合SMART原则。

    (3)及时跟踪,要闭环

    • 每次会议回顾之前遗留的问题。进行关闭和挂起。

    (4)所有会议要有理有据,避免拍脑袋。

    • 因为事前拍脑袋,事后会拍大腿,最后有人拍屁股走人。

    “华为是怎样开发硬件的”——之八(兄弟文化)

    任正非认为”自己做的最自我认可的一件事,就是把钱分好了,分的公平了。“

    1、团队作战、人尽其用

    • 目前国情决定,毕业生大学初入社会,成为工程师,在技术能力上整体弱于美国的,但是贵在人多。这种情况下,一个项目可以多分配工程师。
      这个时候项目管理显得尤为重要。但是分配和管理永远不可能完美,这就需要兄弟文化的补充。

    2、管理二字,基于理去管,方才生效。

    • ”宰相必起于州府,猛将必发于卒伍“,这也是有些外企到了中国,仍然玩职业经理人这套,往往行不通的原因。
    • 作为好的主管首先要具备帮助下属达成所分配目标的能力。无信服,管理寸步难行。
    • 兄弟文化,不只是吃喝,而是切实工作上的帮助和关怀。

    3、做刘邦,不做项羽

    • 个人再强,也需要团队。
    • 君子性非异也,善假于物也。

    “华为是怎样开发硬件的”——之九(测试 )

    1、人员比例

    华为研发人员中,1/3是测试人员

    2、发展阶段

    (1)青铜段位:手工作坊式测试

    • 1996年研发测试团队成立
    • 手工作坊方式的研发过程和测试

    (2)白银段位:IPD和CMM阶段

    • 1998年华为与IBM合作,开始引进IPD流程
    • 1999年左右引入CMM理念
    • 产生IPD-CMM流程

    (3)黄金段位:PTM阶段

    • 2004年在IPD基础上开发PTM流程,自动化测试规模开展
    • 2006年~2007年左右PTM趋于完善

    (4)铂金段位:IPD-RD-I&V阶段

    • 2008年左右开始推广敏捷,研发组织演变为PDU方式
    • 引进迭代开发模式,形成IPD-RD-I&V流程
    • 系统集成与验证流程:IPD-RD-I&V (I&V:Integration and Verification,照搬自Ericsson公司)

    (5)钻石段位:”后敏捷“阶段

    • 推广One Track Anatomy模式、试点持续交付、产品线工程、社区化编程
    • 在经历了一些规范化的测试流程如PTM之后, 现在华为的测试流程更加的敏捷,当然这只能是对于软件,硬件测试则不能太敏捷,在软件和硬件进行集成之前,让软件开发与测试敏捷起来似乎是未来的一种趋势。

    “华为是怎样开发硬件的”——之十

    Sourcing
    1、定位

    • Purchasing即是采购,负责订单处理,Sourcing是负责确定供货商的。
    • 小公司Sourcing和Purchasing两者是一起的,建制完全的大公司趋向于分开。
      2、作者总结的Sourcing四模型
      (1)基本型,行管和采购主导;
      (2)通用型,行管和采购主导,硬件研发影星;
      (3)专用型,硬件研发主导,行管和采购统筹;
      (4)垄断型,厂家很叼,研发、行管、采购抱团寻找方案级替代,培育潜在第二梯队。
      在这里插入图片描述

    个人感悟

    1、白板讲解

    • 华为的白板文化,本质是将所学复述出来。自己高中学校就是这么做的,测试卷子中的难题安排学生自己去讲,能极大促进进步,自己几年下来深有体会。自己小学阶段学的好多东西都会向母亲复述出来,小时候这种锻炼确实对人生影响很大。

    资料

    假如想要更深入的了解,请见于分享的资料链接资源备份精简PDF

    展开全文
  • 下图所示的是一个硬件产品开发大体上所需要经历的全部流程: 1)立项 在立项之前首先需要确定产品定位,对市场规模、用户需求、竞品优劣势、等多个环节进行分析。通过综合分析得出是否具有可行性,若可行...
  • 移动端app开发,原生开发与混合开发的区别

    万次阅读 多人点赞 2019-09-26 18:47:01
    目前市场上主流的APP分为三种:原生APP、Web APP(即HTML5)和混合APP三种,相...原生开发(Native App开发),是在Android、IOS等移动平台上利用提供的开发语言、开发类库、开发工具进行App软件开发。比如Android是...
  • 硬件开发学习需要掌握的基础知识

    千次阅读 2018-04-30 16:05:38
    硬件工程师需要学习的知识 1) 基本设计规范 2) CPU基本知识、架构、性能及选型指导 3) MOTOROLA公司的PowerPC系列基本知识、性能详解及选型指导 4) 网络处理器(INTEL、MOTOROLA、IBM)的基本知识、架构、性能...
  • 同样在产品设计开发的时候,我们也应该发扬这种模块化开发的思想。比如一个产品的硬件有电源模块电路、主控单元的最小系统、外部数据存储、外部的各种通信接口,以及外围的各种模拟量数字量的采集与控制电路,有的...
  • 硬件开发过程简介(一)

    千次阅读 2016-07-07 08:15:32
    硬件开发的基本过程 产品硬件项目的开发,首先是要明确硬件总体需求情况,如 CPU 处理能力、 存储容量及速度,I/O 端口的分配、接口要求、电平要求、特殊电路(厚膜等) 要求等等。其次,根据需求分析制定硬件总体...
  • android开发专用的adb工具包,亲测可用
  • 关注、星标公众号,不错过精彩内容来源:嵌入式资讯精选硬件测试工程师这个职位,相对纯技术开发而言,要求不是那么高,但又需要一定技术含量。对于初入职场,想从事技术开发,而技术...
  • AURIX TC275/TC234开发----(1) 开发准备工作

    万次阅读 多人点赞 2019-08-10 09:16:53
    TC234/TC275 是英飞凌推出的较新一代AURIX 系列的单核/三核处理器,适合应用于车载控制器... 该芯片推出较早、各种开发例子、资料文档、开发工具相对较为齐全;其他型号均是在TC275之后推出,如性价比更高的TC234、...
  • 万物互联成为了可能,智能物联网行业也迎来了新的发展机遇,该行业具有的一个显著特点是软件和硬件终端的结合,而硬件没有就绪时往往会影响软件测试的进度,因此需要开发一款软件模拟器替代硬件终端进行功能测试。...
  • 单片机开发工具之keil介绍

    千次阅读 2018-03-02 11:45:26
    写本篇文章的目的主要是因为在进行单片机开发的过程中,基本上都是使用的keil作为开发工具,因此这里主要针对我个人在进行单片机开发过程中遇到的问题和疑惑一个总结,方便其他学习者参考。1、keil工具介绍 keil...
  • 常见硬件设计的EDA工具

    千次阅读 2020-03-04 22:51:56
    Altium Designer 是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统,主要运行在Windows操作系统。这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等...
  • 华为硬件开发是怎么的?

    千次阅读 2016-04-08 08:54:37
    在国内提到硬件开发,华为无疑是最优秀的公司。所以,硬件创业者从华为出来的也非常多。这篇文章非常详细的介绍了华为硬件开发的流程,非常值得其他硬件开发者借鉴。
  • 2、硬件开发 2.1、开发软件 2.2、STM32CubeMX底层环境搭建 2.3、Keil5编写控制模块实现代码 1、设备选型 基于NB-IoT的智慧路灯监管系统在感知层可实现实时采集路灯节点的工作状态(亮灭状态)、...
  • AUTOSAR入门

    万次阅读 多人点赞 2019-01-09 22:52:15
    此外,由于AUTOSAR标准开发,实现闭源,导致目前工具链由几家国外厂商垄断,对于OEM来说,更换一个MCU都要重新购买一套License,开发成本实际上依然很高(据说一套1000万左右)。当然,我没深入研究过,不了解相比...
  • 硬件设计开发全套软件

    千次阅读 2018-04-20 09:20:47
    1.原理图与PCB设计:AD、Candence orcad capture cis和pcb editorAD,目前最常用的硬件设计工具,为中小型企业和学校学生所熟知,Protel的升级版。Candence,高端产品必备良器,自身集成一条龙的原理图、PCB、仿真...
  • 嵌入式工程师必备开发工具

    千次阅读 2021-10-09 13:22:36
    其实入行也有2年了,这两年用到了不少的开发工具,我猜大家很多也都用到过。这里主要是讲一下用到那些工具,安装自己去找教程吧!毕竟安装这些软件可比开发容易多了! 1.KEIL5 嵌入式产品开发写代码用到的工具。STM...
  • 笔者决定在嵌入式企鹅圈2016年的首篇文章中,发表微信硬件物联领域极具实践价值的文章,它将能指引和帮助任何有兴趣于物联网开发的童鞋们快速掌握微信硬件开发流程,只需一个小时,而再不需要通过揣摩微信硬件浩瀚的...
  • 在网上看到在matlab下开发stm32的例子,经过几天研究。终于成功移植了一个最简单的程序。下面对程序简单记录 1.硬件STM32F107VC(注意官方文档中仅仅写支持STM32F4系列 STM32F3系列)后来亲测STM32F429IG STM32...
  • 鸿蒙开发包括鸿蒙应用开发(手机app)和鸿蒙设备开发(硬件开发)两大部分,其中设备开发又包括TV,音响,眼镜,手表,PC,平板,汽车,耳机以及未来的各种智能家居,手机作为一个超级终端,与各种设备实现互联,未来无论是在工作,...
  • 首先需要开发工具和平台在上文中已经提及,iOS的主流框架和开发语言也带有描述。接下来,先介绍一下如何创建一个iOS的APP。 在Xcode中选择iOS的Application,选择Single View Application,点击建立即可。如图...
  • 最近很多朋友咨询的一些硬件问题,发现朋友们没有仔细的看datasheet,也没有好好的电路分析。我讲一讲华为是怎么...但是他当时说:“我需要招一个,在大公司待过的,最好知道硬件开发流程和规范的。虽然你题答得不
  • 硬件工程师需要掌握什么基础知识

    千次阅读 2020-11-10 20:23:51
    作为一个Hardware硬件工程师,我们需要掌握一些硬件基础知识,目前了五年硬件工作的小编总结一下哪些算是基础知识。给学电子方面想从事硬件工作的同学们一点提示。给未走出大学校园的电子方面的学生一些帮助。 ...
  • WEB前端简历模板

    万次阅读 多人点赞 2019-10-15 17:15:36
    4.熟悉Bootstrap前端框架,了解Nodejs和Angularjs以及less,sass、git、github等技术和团队协作开发工具; 5.具备抗压能力、且有一定自学能力,能够熟练阅读使用中文API,英文API可以大概看懂并运用; 6.担任...
  • Vector诊断系统开发流程及其工具

    千次阅读 2018-12-27 10:28:38
    1、制定诊断规范(需求、协议)--------------CANdelaStudio将诊断规范转化为诊断数据库文件cdd,是整个流程的核心; 2、软件代码实现--------------------将诊断规范形成诊断代码; 3、诊断功能验证-------------...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 352,015
精华内容 140,806
关键字:

做硬件开发需要的工具