精华内容
下载资源
问答
  • 软件测试&软件测试工程师

    千次阅读 多人点赞 2016-07-08 15:58:01
    起源: 最近面试软件测试工程师方面的工作,今天整理整理一下关于软件测试这方面的知识点。 一、 测试工程师: 1、 国内定位和发展前景: 测试工程师,软件质量的把关者,工作起点高,发展空间大。我国的...

    日期: 2016-7-8:


    内容: 测试工程师和软件测试工程师


    起源: 最近在面试软件测试工程师方面的工作,今天在整理整理一下关于软件测试这方面的知识点。



    一、 测试工程师:

    1、 国内定位和发展前景:


    测试工程师,软件质量的把关者,工作起点高,发展空间大。我国的软件测试职业还处于一个发展的阶段,
        所以测试工程师具有较大发展前景。
    目前传统的软件行业还是以软件测试工程师为主,但是在新兴的互联网行业大多还是以QA来命名这个职
        位,也就是质量保证。

    2、 工作职责:

    ①、编写测试计划、规划详细的测试方案、编写测试用例。


    ②、 根据测试计划搭建和维护测试环境;

    ③、 执行测试工作,提交测试报告。包括编写用于测试的自动测试脚本,完整地记录测试结果,编写完整的测试报告等相关的技术文档;


    ④、 对测试中发现的问题进行详细分析和准确定位,与开发人员讨论缺陷解决方案。


    ⑤、 提出对产品的进一步改进的建议,并评估改进方案是否合理;对测试结果进行总结与统计分析,对测试进行跟踪,并提出反馈意见。


    ⑥、 为业务部门提供相应技术支持,确保软件质量指标。


    3、 职业特点:


    开始工作即进入大、中型软件企业,后期转行也容易。


    4、 职业待遇:


    软件质量的把关者,人才凤毛麟角,薪酬上升空间非常大。
    质量是企业的生命线,测试工程师作为软件质量的把关者,因为职位的重要而有较高的待遇就顺理成章了。另外,“物以稀为贵” 的市场规律也使得当前极为紧俏的测试工程师“钱景看好”。
    并且我国的软件测试职业还处于一个发展的阶段,随着软件行业对产品质量重视程度的提高,受过系统培训、掌握先进测试技术的软件测试从业人员的薪酬上升空间大。从企业人才需求和薪金水平来看,软件测试工程师的年工资还有逐年上升的明显趋势。

    5、 关于测试讨论的一片文章(http://www.csdn.net/article/2013-06-20/2815884-cmdn-29-panel)(如何做个有“钱”途的测试工程师?)


    一些比较经典的意见:
    软件测试工程师必须了解行业规范,企业规范,了解客户需求、业务流程,才能做从容的测试发现问题。




    二、 软件测试工程师:




    百度百科:

    1、 定义和职责:



    软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,
    检查软件有没有错误(Bug),测试软件是否具有稳定性(Robustness),写出相应的测试规范
    和测试用例的专门工作人员。简而言之,软件测试工程师在一家软件企业中担当的是“质量
    管理”角色,及时发现软件问题并及时督促更正,确保产品的正常运作。按其级别和职位的
    不同,分为三类。

    2、 分类:按其级别和职位的不同,可分为三类:


    ①、高级软件测试工程师:
    熟练掌握软件测试与开发技术,且对所测试软件对口行业非常了解,能够
    对可能出现的问题进行分析评估


    ②、中级软件测试工程师:
    编写软件测试方案、测试文档,与项目组一起制定软件测试阶段的工作计
    划,能够在项目运行中合理利用测试工具完成测试任务;


    ③、 初级软件测试工程师:
    其工作通常都是按照软件测试方案和流程对产品进行功能测验,检察产品是否
    有缺陷。

    3、 提高测试质量的要诀:


    另外一个值得注意的方面就是工作效率和质量,或许高级测试工程师与普通测试工程师
    的主要区别在于高级测试工程师可以更快地发现更多软件中的严重错误。对此,有什么
    可以借鉴的诀窍吗?请尝试以下方法,保证不会使您失望。


    首先测试程序的核心功能,然后测试辅助功能。
    首先测试功能,然后测试性能。
    首先测试常见情况,然后测试异常情况。
    首先测试经过变更的部分,然后测试没有变更的部分。
    首先测试影响大的问题,然后测试影响小的问题。
    首先测试必须测试的部分,然后测试可选或没有要求测试的部分。

    4、 服务员:

    需要强调的一点是,无论你是多么高级的测试工程师,都要明白无论测试需要的工具多么
    复杂,测试步骤多么冗长,测试工程师在软件项目开发中始终都是扮演服务员的角色,这
    是由测试工作的特点决定的。任何服务都有被服务对象—客户,测试工程师的服务对象有
    哪些呢?


    最重要的客户是软件的用户。测试工程师需要站在客户的使用和需求角度测试软件,报告
    问题。


    项目经理也是客户。测试工程师需要报告测试工作进度和发现的问题,尤其是严重的问题。


    程序员是最经常打交道的客户。为了便于程序员重复报告的错误,尽量提供良好的软件问
    题报告,以便程序员可以更快的修复软件错误。


    技术文档工程师、市场开发人员和技术支持工程师也都是测试工程师的服务对象。

    5、  避免错误:


    前文已经指出测试工程师应该明确角色,明确任务和责任。知道哪些是自己分内的事,哪些
    是不属于自己的事。一定要尽最大努力完成分内的事,不要做不属于自己的事情,以免弄巧
    成拙。


    为了更好的扮演软件测试工程师的角色,尽量避免犯下面的错误:


    ①、 承诺完成测试的软件没有质量问题
    软件测试只是保证质量的一种方法,软件测试工程师的工作不会直接提高软件质量,因为绝
    大多数软件错误都需要程序员修复。软件测试只能证明软件存在错误,不能保证软件没有错误,
    不可能找出全部软件错误。个人的能力和对质量的影响范围很小,软件质量的提高要靠软件项
    目团队全体成员的共同努力。


    ②、 承担软件的发布权利


    不要因为软件中存在还没有修复的错误,而试图提出更改软件发布的计划。也不要认为已经完成
    了测试计划,自己决定可以发布软件。因为,改变软件发布计划可能要失去进入市场的良机和很多
    客户,对此造成的经济和公司市场的损失将不是测试工程师能够承担的。另外,软件发布后,如果用
    户发现了新的软件错误,公司领导或项目经理可能将过错加在软件测试人员的头上,因为他们同意
    发布软件。通常软件发布的权利由产品经理、项目经理、测试经理、市场经理共同集体讨论决定。


    ⒊扮演过程改进成员的角色


    软件测试工程师必须报告错误,有时也要分析错误的类型、特征和产生错误的原因。但是,不要主动
    提出改进软件过程的具体改进措施,更不要直接干涉程序员的工作方式,以免出力不讨好,影响今后
    的愉快合作。软件过程改进的方法是软件质量控制部门的事情,这是他们的本职工作。


    6、 工作职责:


    软件测试就是使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定
    的需求或弄清预期结果与实际结果之间的差别。开发工作的根本是尽量实现软件用户的需求,测试工
    作的根本是检验软件系统是否满足软件用户的需求。


    软件测试工程师简单的说是软件开发过程中的质量检测者和保障者,负责软件质量的把关工作。软件
    测试工程师具体工作有:


    ①、 使用各种测试技术和方法来测试和发现软件中存在的软件缺陷。测试技术主要分为黑盒测试和白
    盒测试两大类。其中黑盒测试技术主要有等价类划分法、边界值法、因果图法、状态图法、测试大纲法以
    及各类典型的软件故障模型等;白盒测试的主要技术有语句覆盖、分支覆盖、判定覆盖、基本路径覆盖等;


    ②、 测试工作需要贯穿整个软件开发生命周期。完整的软件测试工作包括单元测试、集成测试、确认测
    试和系统测试工作。单元测试工作主要在编码阶段完成,由开发人员和软件测试工程师共同完成,其主
    要依据是详细测试。集成测试的主要工作测试软件模块之间的接口是否正确实现,基本依据是软件体系
    结构设计。确认测试和系统测试是在软件开发完成后,验证软件的功能与需求的一致性、验证软件在相
    应的硬件条件下的系统功能是否满足用户需求,其主要依据是用户需求。


    ③、 测试人员将发现的缺陷编写成正式的缺陷报告,提交给开发人员进行缺陷的确认和修复。缺陷报
    告编写最主要的要求是保证缺陷的重现。要求测试人员具有很好的文字表达能力和语言组织能力。


    ④、 测试人员需要分析软件质量。在测试完成后,测试人员需要根据测试结果来分析软件质量,包括缺
    陷率、缺陷分布、缺陷修复趋势等。给出软件各种质量特性包括有功能性、可靠性、易用性、安全性、时间
    与资源特性等的具体度量。最后给出一个软件是否可以发布或提交用户使用的结论。


    ⑤、 测试过程中,为了更好地组织与实施测试工作,测试负责人需要制定测试计划,包括有测试资源、测
    试进度、测试策略、测试方法、测试工具、测试风险等。


    ⑥、 测试人员为了更好更有效地进行测试,保证测试工作质量,需要在执行测试工作之前首先需要设计
    测试用例,形成测试用例报告。设计测试用例是保证测试质量的核心工作,很多测试技术都可以用来指
    导设计用例。为了提高测试用例的设计效率,BTEST培训课程专门开设了高效设计测试用例一门课来讲
    授各种设计用例的技术与方法。


    ⑦、 为了提高工作效率或提高测试水平,测试工作需要引进自动化测试工具,测试人员需要学会使用自
    动化测试工具,编写测试脚本,进行性能测试等。(什么是自动化测试工具?)


    注意: 什么是自动化测试工具?
    网上小伙伴提供的一些基本自动化测试工具:
    开源功能自动化测试工具:Watir、Selenium、MaxQ、WebInject 
    开源性能自动化测试工具:Jmeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator 
    不过,大家用的最多的就是QTP和LR

    ⑧、 测试负责人在测试工作中,还需要根据实际情况不断改进测试过程,提高测试水平,进行测试队伍的建设等。

    6、 职业发展:


    测试组长这类测试人员通常是测试项目的负责人,既要具备较高的测试技术能力,还要具备一定的管理能力。主要
    职责是制定测试计划、编写测试计划、监控和管理整个测试过程。测试组长可以向上发展为测试部经理、质量经理,
    也可以横向发展为项目经理,而且通常待遇相对较高些


    测试分析师
    主要职责是对系统的测试结果进行综合的分析,例如缺陷分析、性能分析等。测试分析师不但测试技术能力较强,
    还要具备数据库、操作系统等多方面的技术知识。这类职务的发展空间也不错,可以发展成系统设计师等。


    测试工程师
    主要职责是编写测试程序、执行自动化测试任务。这类职位的测试人员至少要达到初级程序员的能力,因为经常
    和程序打交道。发展空间也不错,例如可以发展为程序员。

    7、 测试分类:

    测试分为三个阶段:手工测试、自动化测试、性能测试。这是一个逐步提升的过程。最初工作可能做手工测试,也
    是目前绝大部分测试人员所从事的工作。自动化测试是测试的发展趋势,而且现在自动化测试人员急缺,且薪资
    很高。现在最稀缺的是性能测试人员,目前性能测试人员的待遇比同等经历的开发可能还要高,因为现在性能测
    试人员属于稀缺状态。


    (1)手工测试:现在比较普及,大多数测试都还停留在手工测试阶段。


    (2)自动化测试:是趋势,但目前用自动化测试的还比较少,需要适当的代码编写工作。做一段手工测试后,积累一
    定经验,可以慢慢步入自动化测试阶段,如果自动化测试比较熟练,月薪1万没问题,和开发工资差不多。


    (3)性能测试:性能测试人员现在稀缺人群,一般能做性能测试,且做得可以的一般月薪都在1.6万以上,比开发要

    8、 职业素质:

    专业技能:


    计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的
    人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必
    不可少的。计算机专业技能主要包含三个方面:


    ①、 测试专业技能:
    测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围
    很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、
    系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。


    ②、 软件编写能力:
    软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,
    测试人员要想得到较好的职业发展,必须能够编写程序。只有能够编写程序,才可以胜任诸如单元测试、
    集成测试、性能测试等难度较大的测试工作。


    此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾
    高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据资深
    测试工程师的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。


    ③、 网络、操作系统、数据库、中间件等知识:
    与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由于测试
    中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员
    需要掌握更多网络、操作系统、数据库等知识。


    与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由于测试中
    经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要
    掌握更多网络、操作系统、数据库等知识。


    在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是
    测试工作中经常遇到的知识。


    操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,
    这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时
    候也需要掌握一些。


    数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握
    SQL。测试人员至少应该掌握Mysql、MSSqlserver、Oracle等常见数据库的使用。



    行业知识:


    行业主要指测试人员所在企业涉及的行业领域,例如很多IT企业从事石油、电信、银行、电子政务、电子商务等行业领
    域的产品开发。行业知识即业务知识,是测试人员做好测试工作的又一个前提条件,只有深入地了解了产品的业务流程,
    才可以判断出开发人员实现的产品功能是否正确。


    很多时候,软件运行起来没有异常,但是功能不一定正确。只有掌握了相关的行业知识,才可以判断出用户的业务需求
    是否得到了实现。


    行业知识与工作经验有一定关系,通过时间即可以完成积累。


    个人素养:


    作为一名优秀的测试工程师,首先要对测试工作有兴趣:测试工作很多时候都是显得有些枯燥的,因此热爱测试工作,才更容易做
    好测试工作。因此,除了具有前面的专业技能和行业知识外,测试人员应该具有一些基本的个人素养,即下面的“五心”。


    1.专心:主要指测试人员在执行测试任务的时候要专心,不可一心二用。经验表明,高度集中精神不但能够提高效率,还能发现更
    多的软件缺陷,业绩最棒的往往是团队中做事精力最集中的那些成员。


    2.细心:主要指执行测试工作时候要细心,认真执行测试,不可以忽略一些细节。某些缺陷如果不细心很难发现,例如一些界面的
    样式、文字等。


    3.耐心:很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好。如果比较浮躁,就不会做到“专心”和“细心”,这将让很
    多软件缺陷从你眼前逃过。


    4.责任心:责任心是做好工作必备的素质之一,测试工程师更应该将其发扬光大。如果测试中没有尽到责任,甚至敷衍了事,这将
    会把测试工作交给用户来完成,很可能引起非常严重的后果。


    5.自信心:自信心是现在多数测试工程师都缺少的一项素质,尤其在面对需要编写测试代码等工作的时候,往往认为自己做不到。
    要想获得更好的职业发展,测试工程师们应该努力学习,建立能“解决一切测试问题”的信心。


    “五心”只是做好测试工作的基本要求,测试人员应该具有的素质还很多。例如测试人员不但要具有团队合作精神,而且应该学会
    宽容待人,学会去理解“开发人员”,同时要尊重开发人员的劳动成果——开发出来的产品。


    要求
    1、质量意识:在整个软件测试的各个环节中,质量意识一定要贯穿其中。理解功能需求,书写测试案例,执行测试计划,发现问题,
    提交问题,描述问题,协助解决问题,以及问题的跟踪等,在所有的环节中,一定要注重质量,并且从质量的角度来思考问题。


    2、细心并且系统:软件测试可能每天要重复同样的操作,其工作可能会枯燥无味,并且发现的问题可能很微小或者很杂乱无章、
    现象不一。在这样的情况下,软件测试人员一定要细心不放过任何微小的错误,并且从很多杂乱的现象中找出一定的规律和复
    现性。并且在测试中有很好的规划性,先测什么而后测什么,不放过任何软件的死角。在测试中,一定要系统的看待问题,功能
    模块A的改动会否影响到其他模块的功能,不能想当然,一定要系统性的看待。有时候一个内存地址的改变,都有可能引起准给
    软件的崩溃。所以一定要系统性的去处理和看待软件中修改的任意一处代码。


    3、软件测试理论的掌握以及开发工具和平台的应用:黑盒测试,白盒测试,功能/系统/压力/性能等等。但不管测试任何东西,
    基本理论是不变的。需求文档,设计文档,根据文档制作测试用例(划分等价、边界测试、路径测试、用户体验、等等),执行测试
    ,提交并跟踪问题。当然,行业的不同,其测试用的工具和方法也不太一样。手机App该如何测试,无线通讯产品该如何测试,
    C/B-S应用该如何测试,这些产品的差异性很大,其用到的工作也很不一样,但是其基本的测试理论还是一致的。


    4、站的高看的细:不能光有理论,对测试的很多文档可以提出很多有建设性的意见,但当执行测试时却不能发现问题。这其中有
    几个原因,一是可能提出的意见并没有写进测试案例中,二是有可能执行不仔细总是忽视问题的存在,三可能就是没有去实施。
    所以一定要站在一定的高度去看待软件测试,但是又要很细致的实施。只有通过实践,才能发现问题改进问题到最后解决问题。


    5、团队合作:这个无需多讲,在这个产品日渐复杂的年代,很难有一己之力就可以在各个方面做的最好。要充分发挥团队每个人
    员的工作能力和效率。


    6、怀疑:有些书是这样定义软件测试的,软件测试不会去证明软件是正确的,而是去证明是错误的,但是我们不可能发现所有的
    错误。所以有很多时候要去怀疑要去假设。



    软件测试种类:
    手工测试、
    自动化测试、
    静态测试


    软件测试方法
    黑盒测试;
    白盒测试;
    灰盒测;


    软件测试类型
    功能测试;
    性能测试;
    可靠性试;
    安全测试;
    配置测试;
    GUI测试;
    备份测试;
    文档测试;
    在线帮助测试;
    易用性测试等等


    软件测试阶段
    单元测试;
    集成测试;
    系统测试;
    Alpha测试;
    Beta测试;
    验收测试;
    回归测试;

    展开全文
  • 目前由于iPhone手机的普及,其iPhone手机的出屏率也越来越高,但是由于iPhone手机本身知识产权的问题,导致所有想iPhone手机上使用的App软件,都必须首先通过且只能通过苹果公司的“App Store”认证。但低端智能...

          目前由于iPhone手机的普及,其iPhone手机的出屏率也越来越高,但是由于iPhone手机本身知识产权的问题,导致所有想在iPhone手机上使用的App软件,都必须首先通过且只能通过苹果公司的“App Store”认证。但低端智能手机的问世,极大地促进了手机App的问世速度,从而导致一个无法回避的问题,那就是已经问世的App软件再通过“App Store”需要很长的时间周期,在此期间其实就是已经有iPhone版的App了,但是却没办法使用。
         而且随着苹果系统的不断更新,当苹果手机升级ios9系统以后,会发现当我们下载安装一些应用软件的时候,打开时会显示“未受信任的企业级开发者”,只有一个“取消”按钮,这就需要我们去手机设置里面进行进一步的设置操作。

         首先来说一下未授信App的下载途径:一般是通过扫描微信二维码或者通过该公司客服或销售人员给的链接,点击打开后如下图所示,选择“iPhone 手机下载”。


         如果是微信二维码下载,选择微信右上角的“...",然后在弹出框中选择”在Safari中打开“,然后选择”点击下载“,最后选择”安装“。

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

    万次阅读 多人点赞 2018-04-12 10:40:58
    - 假装测试的回答 - 知乎作为一名软件测试人员,有哪些网站是你应该多多关注的,哪些书籍是你必须要看的? - 假装测试的回答 - 知乎白盒与黑盒测试什么区分1、黑盒测试 黑盒测试也称功能测试或数据驱动测试,...

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

    目录

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

    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.有效控制测试方向

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

    展开全文
  • 手机APP软件测试点详解

    千次阅读 2017-07-26 17:19:01
    功能测试:手机软件的基本功能。倒不一定完全由测试人员来完全执行,但却是所有测试中最重要的,需要测试人员做很好的测试策略和职责划分。 稳定性测试:大多数手机应用是需要保证能够稳定运行一定时间的(尤其是...
    APP测试有很多方面需要考虑到,我列几点有明显特征的:
    
    • 功能测试:手机软件的基本功能。倒不一定完全由测试人员来完全执行,但却是所有测试中最重要的,需要测试人员做很好的测试策略和职责划分。
    • 稳定性测试:大多数手机应用是需要保证能够稳定运行一定时间的(尤其是对于一些记事类应用),而且在应用的运行状态发生切换后需要继续保持当前的状态,不出现闪退。
    • 性能测试:这部分分为两个方面,一部分是后台服务的性能测试(API的响应时间和响应报文大小),一部分是应用自身的性能情况(占用CPU、内存、I/O、电量情况,以及页面到页面之间的切换速度,如果是游戏或动画,还要保证能够在一定的帧率以上)。
    • 安全测试:关键的机密数据连接有没有走加密连接;本地数据库有没有做加密处理,是否会被其他恶意应用读取;后台服务的接口是否安全,会不会受SQL注入的影响;应用有没有做混淆,会不会被逆向以及会不会在渠道方被修改重新签名挂马;敏感数据是否存在了SD Card上等等。
    • 地理位置定位测试:大多数业务软件(电商类)都支持获取用户的地理位置信息,方便做一些本地业务的定制(尤其是对于O2O行业),至少需要考虑到三方面:1. 城市是否能准确定位;2. 定位位置精度是否符合要求;3. 地理位置名称解析过程无误。
    • 应用升级兼容性测试:需要保证应用能够在升级或跨版本升级后一些关键数据得以保留,而不必用户重新设置,诸如用户账户认证信息、亮度设置、用于标示设备的UUID和一些关键的应用功能开关设置等等。
    • 设备兼容性测试:随着Android设备的快速分化以及iOS设备的缓慢分化,应用需要适配在不同配置的硬件平台上(不同的CPU体系结构、不同的RAM配置、不同的Flash存储、不同的传感器配置、不同的网络模式等等),同时还要兼顾不同的OS版本,所以需要很大的精力放在系统兼容性和设备兼容性测试上。
    • 耦合应用测试:对于今天的移动应用,“孤岛”模式的应用已经不复存在。大多数应用需要跟其他应用进行交互,从而达到“社交化”或“分享”以及“支付”的功能,这样,它在运行时跟其他软件的交互就存在一定的不确定性,这时如果应用有版本升级,我们需要关注升级后的耦合应用跟我们的应用之间的交互是否还依旧有效。
    • PUSH跳转测试:现今的移动应用同样还存在通过推送服务来让用户到达特定页面的特征。这样我们需要对PUSH服务能否到达特定页面并正确展示特定页面做测试。
    • 统计上报测试:对于大多数应用来说,收集一些用户数据有助于他们对用户行为作出分析,从而对比是不是一些新功能的加入能提高用户的活跃度或转化率。这些信息都需要一定的上报方案才能获取、入库和分析。所以对于QA来说,这部分工作并不弱于一般功能测试。

    ---------------------------------------------

    补充说的网络环境,网络方面可以重点关注三类测试:

    1. 功能测试(用户体验方面)。在有些2G/3G网络上请求延迟会比较大,建立连接速度慢,以及不断进行大量的分散请求也会导致功耗增大、反复建立连接导致完成所有请求/响应时间长,这些都需要关注到。同时,应用内提供一套支持节约流量的使用模式也是一种可取的途径。另外,应用自身也可以考虑加上一定的离线工作模式,如将一些关键数据在WiFi连接时或有网时进行预取。参考豆瓣电台离线模式或虾米的歌单离线收听。不过此类测试可以通过一些工具来模拟网络延迟大或是丢包严重的情况,用2G/3G网络直接测试的环境构造成本会比较大。
    2. 适当的性能测试。功能测试已经能发现很多用户体验方面的问题,但这是大概的。如果要特别精细地定位问题瓶颈,需要通过性能测试详细分析延迟出现在哪里,是在建立连接的过程还是服务端响应的过程,或者是应用本地处理返回的数据上。
    3. 由于运营商在2G/3G网络环境上的复杂配置,很多情况下应用到服务端的连接会出现各种各样的怪象,导致用户无法在操作应用端时成功将请求发往服务端。这部分无法直接通过测试来保证(除非你**真的**有足够的资源可以做好众测)。建议跟运维组联系部署或租用全国范围内的电信、联通、移动网络监控(监控到关键域名下URL的响应)。
    ---------------------------------------------

    一、 什么是App性能测试

    性能(performance):是系统实现其功能的能力。例如,响应时间、吞吐能力、事务处理数。

    性能测试,是指在特定负载情况下,确定系统的响应速度和稳定性的表现。它也可以研究、测量、验证系统的其他特征,比如可扩展性、可靠性和资源使用率。通俗的讲:通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生成性能要求,即在特定的运行条件下验证系统的能力状况。

    按App构成特点,将性能测试分为客户端性能、服务器性能两大块。

    二、 性能测试的关键指标

    客户端性能的关键指标有:

    CPU占用率、内存占用率、流量耗用量、FPS(每秒传输帧数) (见下图)<img src="https://pic4.zhimg.com/90ac2d68e93b78723776c2ec4af0de0b_b.png" data-rawwidth="1075" data-rawheight="398" class="origin_image zh-lightbox-thumb" width="1075" data-original="https://pic4.zhimg.com/90ac2d68e93b78723776c2ec4af0de0b_r.png">


    服务器端性能的关键指标有:

    响应时间、并发用户数、吞吐量等;

    三、 如何做性能测试

    1. 明确测试目标;了解性能测试需求;

    2. 编写性能测试计划;

    3. 分析性能测试需求;

    4. 编写性能测试方案、设计测试场景;

    5. 相关资源准备(人力资源、硬件资源、软件资源);

    6. 测试程序开发;脚本维护、测试数据准备、测试监控准备;

    7. 执行性能测试并收集测试结果;

    8. 分析结果;

    9. 系统调优及再测试;


    四、 性能测试五大误区

    Ø 误区 1:性能测试不是手游测试的主要矛盾,兼容性才是

    开发者过高的预估了兼容性测试的重要性,而过低忽略性能测试。其实很多问题的原因就是性能导致的,例如“游戏玩到一半,突然来了个电话,再返回时游戏界面崩溃”、或者“在你好不容易在手机上打了一大段字,正要发送时,来了条短信,而记事软件已经崩溃,辛辛苦苦编辑的内容早就没了” 这类问题非常容易引起玩家的反感,造成流失。

    Ø 误区 2:性能测试要像功能测试一样,覆盖到所有功能

    性能测试的主要目的是为了系统调优。不可能对所有的系统功能都进行性能测试。在测试设计时需要结合当时的实际系统,先分析软件可能存在的瓶颈,此时可依据80/20 原则分析:对系统资源的利用、数据大量传输、数据转换、用户使用频率、逻辑复杂度等进行分析,选择要执行的功能和场景,再依此制定性能测试的方案。

    Ø 误区 3:做性能测试主要就是测试工具的使用

    我做不好性能测试,是因为对测试工具不熟悉;测试工具可以自动生成我所需要的报表;依靠性能测试工具就能准确定位系统颈;测试工具在测试中只起到辅助性作用。而测试方案、测试场景的分析、问题的定位这才是性能测试的关键。不要期望测试工具能够生成你想要的所有东西(报表、瓶颈分析),工具只能近可能多的提供给我们分析的依据。

    Ø 误区 4:提高一下硬件配置就可以提高性能了,因此性能测试不重要

    随着软件规模的扩大,提高硬件配置只是解决性能问题的一个基本手段。因为如果软件自身存在性能问题,再多的资源可能也不够用,例如:内存泄漏问题,随着时间的增加,内存终究会被耗尽,最后导致系统崩溃;数据库链接数等配置信息、数据库死锁是和硬件很难挂钩的;算法逻辑问题导致程序缓慢。即使要提高已经配置,也要首先用性能测试的方式得出哪些硬件可能存在瓶颈。

    Ø 误区 5:随便找个环境下进行一下性能测试就可以了

    做性能问题分析可以在类生产环境上进行,配置可以有些差别,一般性能测试还是在类生产环境进行,原因有两个:1)性能测试要尽可能早的完成,提早发现问题并整改;2)在生产环境进行测试可能会造成脏数据。



    五、 WeTest性能测试

    提供android版本和云端版本2种性能测试方案,这里着重介绍下本地版本。使用3步即可:

    1) 打开WeTest腾讯质量开放平台 下载WeTest APP,并安装(手机需越狱或Root);<img src="https://pic4.zhimg.com/1a52f37d95a29c6b2591fe839c97ba0b_b.jpg" data-rawwidth="525" data-rawheight="869" class="origin_image zh-lightbox-thumb" width="525" data-original="https://pic4.zhimg.com/1a52f37d95a29c6b2591fe839c97ba0b_r.jpg">


    2) 运行手机上的WeTest APP,选择手游后点“开始测试”;<img src="https://pic4.zhimg.com/0e3f540043a6d44ce65bf7274a0b1c7b_b.jpg" data-rawwidth="959" data-rawheight="538" class="origin_image zh-lightbox-thumb" width="959" data-original="https://pic4.zhimg.com/0e3f540043a6d44ce65bf7274a0b1c7b_r.jpg">

    <img src="https://pic1.zhimg.com/528ecf210e11d7267dac48abe3e30838_b.jpg" data-rawwidth="958" data-rawheight="539" class="origin_image zh-lightbox-thumb" width="958" data-original="https://pic1.zhimg.com/528ecf210e11d7267dac48abe3e30838_r.jpg">

    3) 上传并查看报告

    结束测试后,打开WeTestAPP点击“上传”按钮。<img src="https://pic3.zhimg.com/ba88370d16fac92a71a61dbb30869026_b.jpg" data-rawwidth="526" data-rawheight="884" class="origin_image zh-lightbox-thumb" width="526" data-original="https://pic3.zhimg.com/ba88370d16fac92a71a61dbb30869026_r.jpg">



    登录WeTest腾讯质量开放平台点击“我的主页”里面,左侧的“手游测试报告”,在页面中就会出现“性能测试”结果报告,点击查看,就可以查看完整的测试报告;<img src="https://pic1.zhimg.com/bda042e1789d9e355681838d1c1fdab4_b.png" data-rawwidth="437" data-rawheight="458" class="origin_image zh-lightbox-thumb" width="437" data-original="https://pic1.zhimg.com/bda042e1789d9e355681838d1c1fdab4_r.png">


    <img src="https://pic2.zhimg.com/2d1d233553c538d15091ea7a77e54fe1_b.png" data-rawwidth="451" data-rawheight="257" class="origin_image zh-lightbox-thumb" width="451" data-original="https://pic2.zhimg.com/2d1d233553c538d15091ea7a77e54fe1_r.png">

    彩蛋>>没有这些工具前,我们是怎么测试的?

    这里分享一个案例。测试人员使用组合式的方式,分别从不同的工具上采集核心数据,并且数据不全,也不专业。

    Wimat负责CPU部分,而360负责流量采集部分。其实Wimat使用方式如下:<img src="https://pic4.zhimg.com/8fa53609ae6ad055cef1e8d26a25afff_b.jpg" data-rawwidth="220" data-rawheight="336" class="content_image" width="220">

    <img src="https://pic1.zhimg.com/eac367f0e3f5bfd1d22b50c4c84dcb64_b.jpg" data-rawwidth="236" data-rawheight="336" class="content_image" width="236">

    1)勾选所要监控的对象并设置好监控时间后,点击开始,WiMAT会在后台启动一个服务,由这个服务

    监控各项指数的变化并写到结果文件里;

    2)这时候可以打开或切换到要测试的应用程序,运行一些测试用例;

    3)结束后切换回WiMAT界面,点击停止结束监控,WiMAT会告诉你结果文件的存储位置

    360手机卫士对流量监测的使用方法如下:

    1)进入安全保护tab页,选择流量监控;

    2)进入后再切换到统计排行tab页;<img src="https://pic1.zhimg.com/073ef9e3a1b72023c8dfce3b23febbe8_b.jpg" data-rawwidth="233" data-rawheight="347" class="content_image" width="233">

    <img src="https://pic1.zhimg.com/6c434e72a203c74d86beb91c634e7af4_b.jpg" data-rawwidth="230" data-rawheight="347" class="content_image" width="230">

    一、 什么是App性能测试

    性能(performance):是系统实现其功能的能力。例如,响应时间、吞吐能力、事务处理数。

    性能测试,是指在特定负载情况下,确定系统的响应速度和稳定性的表现。它也可以研究、测量、验证系统的其他特征,比如可扩展性、可靠性和资源使用率。通俗的讲:通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生成性能要求,即在特定的运行条件下验证系统的能力状况。

    按App构成特点,将性能测试分为客户端性能、服务器性能两大块。

    二、 性能测试的关键指标

    客户端性能的关键指标有:

    CPU占用率、内存占用率、流量耗用量、FPS(每秒传输帧数) (见下图)<img src="https://pic4.zhimg.com/90ac2d68e93b78723776c2ec4af0de0b_b.png" data-rawwidth="1075" data-rawheight="398" class="origin_image zh-lightbox-thumb" width="1075" data-original="https://pic4.zhimg.com/90ac2d68e93b78723776c2ec4af0de0b_r.png">


    服务器端性能的关键指标有:

    响应时间、并发用户数、吞吐量等;

    三、 如何做性能测试

    1. 明确测试目标;了解性能测试需求;

    2. 编写性能测试计划;

    3. 分析性能测试需求;

    4. 编写性能测试方案、设计测试场景;

    5. 相关资源准备(人力资源、硬件资源、软件资源);

    6. 测试程序开发;脚本维护、测试数据准备、测试监控准备;

    7. 执行性能测试并收集测试结果;

    8. 分析结果;

    9. 系统调优及再测试;


    四、 性能测试五大误区

    Ø 误区 1:性能测试不是手游测试的主要矛盾,兼容性才是

    开发者过高的预估了兼容性测试的重要性,而过低忽略性能测试。其实很多问题的原因就是性能导致的,例如“游戏玩到一半,突然来了个电话,再返回时游戏界面崩溃”、或者“在你好不容易在手机上打了一大段字,正要发送时,来了条短信,而记事软件已经崩溃,辛辛苦苦编辑的内容早就没了” 这类问题非常容易引起玩家的反感,造成流失。

    Ø 误区 2:性能测试要像功能测试一样,覆盖到所有功能

    性能测试的主要目的是为了系统调优。不可能对所有的系统功能都进行性能测试。在测试设计时需要结合当时的实际系统,先分析软件可能存在的瓶颈,此时可依据80/20 原则分析:对系统资源的利用、数据大量传输、数据转换、用户使用频率、逻辑复杂度等进行分析,选择要执行的功能和场景,再依此制定性能测试的方案。

    Ø 误区 3:做性能测试主要就是测试工具的使用

    我做不好性能测试,是因为对测试工具不熟悉;测试工具可以自动生成我所需要的报表;依靠性能测试工具就能准确定位系统颈;测试工具在测试中只起到辅助性作用。而测试方案、测试场景的分析、问题的定位这才是性能测试的关键。不要期望测试工具能够生成你想要的所有东西(报表、瓶颈分析),工具只能近可能多的提供给我们分析的依据。

    Ø 误区 4:提高一下硬件配置就可以提高性能了,因此性能测试不重要

    随着软件规模的扩大,提高硬件配置只是解决性能问题的一个基本手段。因为如果软件自身存在性能问题,再多的资源可能也不够用,例如:内存泄漏问题,随着时间的增加,内存终究会被耗尽,最后导致系统崩溃;数据库链接数等配置信息、数据库死锁是和硬件很难挂钩的;算法逻辑问题导致程序缓慢。即使要提高已经配置,也要首先用性能测试的方式得出哪些硬件可能存在瓶颈。

    Ø 误区 5:随便找个环境下进行一下性能测试就可以了

    做性能问题分析可以在类生产环境上进行,配置可以有些差别,一般性能测试还是在类生产环境进行,原因有两个:1)性能测试要尽可能早的完成,提早发现问题并整改;2)在生产环境进行测试可能会造成脏数据。



    五、 WeTest性能测试

    提供android版本和云端版本2种性能测试方案,这里着重介绍下本地版本。使用3步即可:

    1) 打开WeTest腾讯质量开放平台 下载WeTest APP,并安装(手机需越狱或Root);<img src="https://pic4.zhimg.com/1a52f37d95a29c6b2591fe839c97ba0b_b.jpg" data-rawwidth="525" data-rawheight="869" class="origin_image zh-lightbox-thumb" width="525" data-original="https://pic4.zhimg.com/1a52f37d95a29c6b2591fe839c97ba0b_r.jpg">


    2) 运行手机上的WeTest APP,选择手游后点“开始测试”;<img src="https://pic4.zhimg.com/0e3f540043a6d44ce65bf7274a0b1c7b_b.jpg" data-rawwidth="959" data-rawheight="538" class="origin_image zh-lightbox-thumb" width="959" data-original="https://pic4.zhimg.com/0e3f540043a6d44ce65bf7274a0b1c7b_r.jpg">

    <img src="https://pic1.zhimg.com/528ecf210e11d7267dac48abe3e30838_b.jpg" data-rawwidth="958" data-rawheight="539" class="origin_image zh-lightbox-thumb" width="958" data-original="https://pic1.zhimg.com/528ecf210e11d7267dac48abe3e30838_r.jpg">

    3) 上传并查看报告

    结束测试后,打开WeTestAPP点击“上传”按钮。<img src="https://pic3.zhimg.com/ba88370d16fac92a71a61dbb30869026_b.jpg" data-rawwidth="526" data-rawheight="884" class="origin_image zh-lightbox-thumb" width="526" data-original="https://pic3.zhimg.com/ba88370d16fac92a71a61dbb30869026_r.jpg">



    登录WeTest腾讯质量开放平台点击“我的主页”里面,左侧的“手游测试报告”,在页面中就会出现“性能测试”结果报告,点击查看,就可以查看完整的测试报告;<img src="https://pic1.zhimg.com/bda042e1789d9e355681838d1c1fdab4_b.png" data-rawwidth="437" data-rawheight="458" class="origin_image zh-lightbox-thumb" width="437" data-original="https://pic1.zhimg.com/bda042e1789d9e355681838d1c1fdab4_r.png">


    <img src="https://pic2.zhimg.com/2d1d233553c538d15091ea7a77e54fe1_b.png" data-rawwidth="451" data-rawheight="257" class="origin_image zh-lightbox-thumb" width="451" data-original="https://pic2.zhimg.com/2d1d233553c538d15091ea7a77e54fe1_r.png">

    彩蛋>>没有这些工具前,我们是怎么测试的?

    这里分享一个案例。测试人员使用组合式的方式,分别从不同的工具上采集核心数据,并且数据不全,也不专业。

    Wimat负责CPU部分,而360负责流量采集部分。其实Wimat使用方式如下:<img src="https://pic4.zhimg.com/8fa53609ae6ad055cef1e8d26a25afff_b.jpg" data-rawwidth="220" data-rawheight="336" class="content_image" width="220">

    <img src="https://pic1.zhimg.com/eac367f0e3f5bfd1d22b50c4c84dcb64_b.jpg" data-rawwidth="236" data-rawheight="336" class="content_image" width="236">

    1)勾选所要监控的对象并设置好监控时间后,点击开始,WiMAT会在后台启动一个服务,由这个服务

    监控各项指数的变化并写到结果文件里;

    2)这时候可以打开或切换到要测试的应用程序,运行一些测试用例;

    3)结束后切换回WiMAT界面,点击停止结束监控,WiMAT会告诉你结果文件的存储位置

    360手机卫士对流量监测的使用方法如下:

    1)进入安全保护tab页,选择流量监控;

    2)进入后再切换到统计排行tab页;<img src="https://pic1.zhimg.com/073ef9e3a1b72023c8dfce3b23febbe8_b.jpg" data-rawwidth="233" data-rawheight="347" class="content_image" width="233">

    <img src="https://pic1.zhimg.com/6c434e72a203c74d86beb91c634e7af4_b.jpg" data-rawwidth="230" data-rawheight="347" class="content_image" width="230">


    展开全文
  • 点击“浏览器”,点击右角的“三个点”。 点击“设置”,点击“默认下载目录”。 https://jingyan.baidu.com/article/fb48e8bef0bcb46e622e14d2.html
  • 测试开发笔记

    万次阅读 多人点赞 2019-11-14 17:11:58
    测试开发笔记 第一章 测试基础 7 什么是软件测试: 7 ...验收测试:(系统测试之后) 11 回归测试: 11 4.测试过程(干什么,怎么干) 12 5.各阶段输入、输出标准以及入口、出口准则:(测试阶段过程要素) 1...
  • 因为从事互联网领域的工作,所以总会收到很多朋友的询问,表示想建立一个App,或创业,或是增长线渠道,或者仅作为个人的一个小工具,小平台,但是又苦于不懂软件开发技术,咨询专业的外包公司,价格都太高,不...
  • 比如魅族可以完美运行,到小米可能会死机,到三星会报ANR。
  • ADB

    万次阅读 2018-07-08 16:47:50
    apowersoft这公司的东西相当好用,不仅有针对手机的投射软件,还有电脑在线录屏、录音等强大的软件 https://www.apowersoft.com   得到微信公众号的二维码 ,=后加上你的公众号id即可 ...
  • 现在市面很多软件都需要手机号或者邮箱注册才能使用,所以也是频繁出现很多手机泄密的事件。 尤其是近些年,无论你是会用何种方式登录,最后都会让你绑定手机号码。 不管是众所周知的大软件,还是少数人知晓...
  • C#写手机软件

    千次阅读 2004-11-02 14:48:00
    第一次花时间东西,以前一直看大家的。最近接触到了短消息的编程, 相信有不少兄弟已经实现了,我仅仅一下自己的心得。首先查了csdn的帖子,其中有不少的广告,没相信他们:)看了大家推荐的天极上面那个蚕蛹...
  • 一篇是关于自Android手机APP给单片机下发数据的,这次我将一下APP如何接受单片机数据。 其实使用调试助手,或者别人开的的APP同样能够实现接受单片机数据,但想学习的,我还是建议能够自己一个Android...
  • 通过windows电脑给iphone装软件

    千次阅读 2019-10-10 15:43:02
    1、windows电脑安装iTunes和iTools软件。 2、打开iTunes并登录给电脑授权(帐户——》授权——》对这台电脑授权) 3、打开iTools 连接上手机在应用——》我的应用安装软件 ...
  • 安卓手机安装Linux系统

    万次阅读 多人点赞 2018-02-01 13:48:33
    安卓手机安装Linux系统(安卓机顶盒安装Linux系统) 前言: 这里介绍的方法是Linux Deploy ,是需要root安卓设备的,因为...安卓设备是可以运行的,笔者这里介绍安卓手机和安卓网络机顶盒安装 Ubuntu mate 的过
  • eMMC(一)——基本架构

    万次阅读 多人点赞 2019-11-01 15:58:07
    目录 1. eMMC是什么 1.1 个人理解 1.2 eMMC 的整体架构 ...eMMC (Embedded Multi Media Card)是MMC协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格。由一个嵌入式存储解决方案组成,带有MMC...
  • 华为官方的ROM清理工具不显示预置软件如图: ![图片说明](https://img-ask.csdn.net/upload/201604/07/1460039102_637073.jpg) ![图片说明](https://img-ask.csdn.net/upload/201604/07/1460039237_789234.jpg)
  • 目前网上涉及到手机和电脑之间远程控制的软件非常多,光异次元就介绍过好几款了,请看下面的列表,其中除 AnyDesk 暂不支持移动设备外,其它的都提供了手机版的客户端。 但是这些软件都有一个共同缺点,就是只能...
  • 我主页中的思维导图中内容大多从我的笔记中整理而来,相应技巧可笔记中查找原题, 有兴趣的可以去 我的主页了解更多计算机学科的精品思维导图整理 本文可以转载,但请注明来处,...1.手机软件 1.1手机自动跳过...
  • 最近有许多的网站、软件都频繁暴出手机泄密的事情,有些软件是知名的大站,但是有些软件只是不知名的小软件,或许你都忘记是什么时候注册的,自己的手机又注册了哪些网站,所以小编为大家精心收集了一...
  • 今天发现手机和平板可以作为电脑的第二个屏幕使用的软件,方便一遍文档和查东西,于是就网上下了一个试试,高了一下午,只连了一次就再也没有成功过了,后来换了一个版本,就好了。 不要用2.3.0.13版本,否则...
  • 一款app都需要哪些硬件软件什么的,才能保证这个app用户的手机上正常运行? 请大神们详细的给我一个框架试的回答,最好有图片!谢谢!!! 1.硬件都需要哪些东西,比如服务器架设等等?? 本人一点不懂,完全的...
  • 本教程共分为四节实现小米手机不乱下载东西和推送:分别为 删除软件,控制软件的联网,控制软件显示通知和控制软件下载权限 一:卸载软件 -->按住这个软件,然后往最上面那个垃圾桶位置,则该软件删除 ...
  • 1.1-做了这么久,才知道什么是上位机

    万次阅读 多人点赞 2020-02-09 17:12:16
    典型设备类型:电脑,手机,平板,面板,触摸屏 下位机: 下位机指直接与机器相连接的计算机或单片机,一般用于接收和反馈上位机的指令,并且根据指令控制机器执行动作以及从机器传感器读取数据。 典型设备类型:PLC...
  • java开发工程师简历模板

    万次阅读 多人点赞 2019-07-22 15:14:31
    这篇文章还更新,正在孵化,但是你可以借鉴是这里面的一点点经验…持续更新! 2. 简历的书写 HR筛选简历时,一般来说非常的快,可能你的简历10秒就被看完了。所以,简历要简单干脆 2.1 一份好的技术简历 首先,一...
  • 小米手机默认的使用迅雷下载,把默认为迅雷下载的开关关闭就可以了
  • Android软件进行下载文件后,可以在手机或平板的文件管理软件中进行查看,并且正常进行,但是连接电脑后,电脑却找不到该文件。 原因: android手机或平板通过mtp模式与电脑进行连接时,会出现该情况(重启...
  • 电脑端Android模拟器安装使用教程,如何电脑安装安卓软件 如今说到什么智能手机最火,那很多人肯定会说android系统的手机。如果你还没有Android手机,又想买一部试试,可是价格都不便宜,买来不适合自己怎么办?...
  • 以苹果手机12pro为例,它自带测距仪,打开手机“设置”,就菜单栏往滑动就会看到里面自带的“测距仪”,点进去,就会看到测量单位:英制、公制,请选“公制”,再点“siri与搜索”,进去后就会看到菜单栏,把...
  • 所述,其实webview并不是安卓或者IOS独有的东西,webview就是个对不同平台开放的webkit有API,也包括对Ios和安卓,他定义了不同平台下的操作方式,以及不同平台下,不同的特性,比如win平台下利用createwindow...
  • 手机没有经过破解想使用大部分软件必须要付费才可以,这是苹果公司 Iphone 出厂的时候已经对手机进行了设置,系统对用户限制了一些 功能。从 itunes 下载的程序是账户绑定的,跟 iphone/itouch 匹配才能安装。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 109,392
精华内容 43,756
关键字:

在手机上写东西的软件