• 0
  • 0
分享

  什么是软件测试?

  正向思维:验证程序是否正常运行,以及是否达到了用户预期的需求。

  逆向思维:通过执行测试用例发现程序的错误和缺陷。

  关键字:正常运行、用户需求、发现错误。

  软件测试的目的是什么?

  找出软件中潜在的错误和缺陷,通过修复错误和缺陷提高软件的质量,回避软件发布后因缺陷或错误带来的商业风险。

  关键字:发现错误、提高质量、避免风险。

  黑盒、白盒的区别

  黑盒测试(数据驱动测试、功能测试):不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。

  白盒测试(逻辑驱动测试、结构测试):已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。

  什么是灰度测试?

  概念:灰度发布的过程是一个渐进的过程,其实这才是一种正确、规范、安全的发布过程。

  影响:灰度发布可以在原有的Alpha版本之后增加了更大范围的外部测试,是一个不断的放量过程,通过这样的发布过程可以使产品的问题暴露出来,而不会影响到全部的用户,最终可以让产品最大程度稳定适合用户。

  负载测试、压力测试、性能测试、容量测试的区别

  性能测试:获得系统在某种特定条件下的性能指标数据。

  负载测试:通过加压,观察系统的响应时间、吞吐量等,直到系统的极限性能指标。

  压力测试:通过增加负载,查看系统在峰值使用情况下的操作行为,容错、可恢复能力,发现隐患。

  容量测试:系统承受大量数据,测试系统是否能够正常处理,通常和数据库有关。

  什么是回归测试?

  抽象说法:在程序有修改的情况下,保证原有功能正常。

  具体说法:测试时发现bug -》开发修改 -》打了新包 -》重新测试,保证程序在修正了bug之后正常运行,且不会带来新的错误。

  什么是冒烟测试?

  新版本验证测试,主要确认新的版本是否存在致命性bug,新功能正常运行,不影响下一轮测试。

  系统测试的16个测试策略

  功能测试、安全测试、容量测试、性能测试、压力测试、稳定性测试、可用性测试、健壮性测试、GUI测试、安装测试、配置测试、异常测试、备份测试、文档测试、在线帮助测试、网络测试。

  测试流程(各有千秋)

  1、测试人员参与需求评审、交互评审、视觉评审;理解需求,进行需求分析。

  2、测试负责人编写测试计划,分配测试任务,评估测试周期。

  3、测试人员整理交互or需求疑难点,确认异常场景or特殊情况下的交互细节,最好是能划出新功能的数据流图&流程图。

  4、测试人员编写测试点,转化测试用例,评审测试点or测试用例。

  5、开发送测(提测)前,开发自行走查,产品视觉验收,若有必要,测试可介入冒烟测试。

  6、送测(提测)阶段,缺陷管理,发现bug,提交bug。

  7、博主这边是分A1,A2,A3...阶段,一般A1新功能测试用例&主流程回归,A2验证bug&交叉测试&拓展测试,A3验证bug&拓展测试。

  8、预发(灰发)环境验证。

  9、线上环境验证。

  10、版本复盘。

  黑盒测试相关

  黑盒测试主要是为了发现以下几类错误:

  1、是否有不正确或遗漏的功能?

  2、在接口上,输入是否能正确的接受?能否输出正确的结果?

  3、是否有数据结构错误或外部信息(例如数据文件)访问错误?

  4、性能上是否能够满足要求?

  5、是否有初始化或终止性错误?

  黑盒测试优点

  1、比较简单,不需要了解程序内部的代码及实现,因为与内部实现无关;

  2、从用户角度出发,能很容易地知道用户会用到哪些功能,会遇到哪些问题;

  3、基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;

  4、在做软件自动化测试时较为方便。

  黑盒测试缺点

  1、不可能覆盖所有的代码,覆盖率较低;

  2、部分路径不能测试到,不能测试程序中隐藏的错误;

  3、自动化测试的复用性较低。

  黑盒测试方法

  等价类、边界值、因果图、判定表、状态迁移、正交实验、场景法、错误推断。

  自动化测试相关

  自动化测试的优点

  1、回归测试更方便,由于回归测试的额动作和用例是完全设计好,测试结果也是可以预料的,将回归测试自动运行,可以提高测试效率,缩短回归测试时间;

  2、运行更多更繁琐的测试;

  3、可以执行一些手工测试困难的测试,可以通过自动化测试模拟同时有大量用户的测试;

  4、测试具有一致性和可重复性,每次测试的结果和执行的内容的一致性可以得到保障,达到测试的可重复的效果;

  5、测试的复用性,实现在不同的测试过程中使用相同的用例;

  6、测试的执行可靠性,按脚本执行,后续定位复现有明确的路径可循;

  7、资源利用率高,人力成本低;

  8、基本的、逻辑性不强的操作,性能测试、压力测试、回归测试,自动化测试很大优势。

  自动化测试的缺点

  1、手工测试比自动测试发现的缺陷更多;

  2、对测试的依赖性大;

  3、只适合回归测试;

  4、手工测试编写时间少于测试脚本编写时间;

  5、手工测试可以靠人的想象力去测试, 而工具是死的;

  6、自动化测试可能会制约软件开发,脚本维护会受到限制,从而制约软件的开发。

  总结:自动化测试是对手工测试的一种补充,自动化测试不可能完全替代手工测试,因为很多数据的正确性、界面是否美观、业务逻辑的满足程度等都离不开测试人员的人工判断。

  APP常见测试点

  1、安装、卸载 apk上安装与卸载,在工具上可以安装卸载;

  2、兼容性测试:系统版本、安卓版本、尺寸;

  3、异常测试:断网、断电、服务器异常情况下,客户端是否正常处理;

  4、在线升级测试:在线升级,升级后可以正常使用;

  5、易用性测试:操作简单,符合用户使用习惯;

  6、交互性测试:来电、来短信、低电量测试、拔充电线会不会影响app;

  7、功能测试:检验功能是否符合需求,涉及到UI层、接口、数据、服务端、代码逻辑等;

  8、稳定性测试:通过Monkey命令行工具,对正在开发的应用程序进行压测,向系统发送伪随机的用户事件流(按键输入、触屏输入、手势输入)进行压测;

  9、安全测试:是否容易被外界破解,是否存在被恶意代码注入的风险;

  10、性能测试:应用测试、ROM测试、客户端运行时设备的CPU、GPU、流量、耗电量,响应时间;

  11、自动化测试:robotium、Appium;

  12、外网场景测试:不同网络场景,wifi、3g、4g、电信、移动、联通、弱网场景,通过fiddler;

  13、中断测试(电话接入、来短信、电量不足提示等外部事件)。

  app测试和web测试的区别

1.png

  冒烟测试和回归测试的区别

  冒烟测试:新版本验证测试,主要确认新的版本是否存在致命性bug,功能可以正常运行,不会影响下一轮测试,不要求覆盖面有多广,但是要保证被测对象的主功能点得到测试,还要保证所有被修改过以及修改相关的功能都是可用的,若都通过则可以进行系统测试。

  回归测试:是软件维护阶段对软件修改后进行的测试,指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

  静态测试和动态测试的区别

  静态测试:不运行被测程序本身,通过评审文档和阅读代码等方式测试软件。

  动态测试:通过运行被测程序,检查运行结果与预期结果的差异,通常使用白盒和黑盒测试从不同的角度设计测试用例来查找代码中的错误。

  关键字:

  不运行、文档、代码

  运行、结果差异、黑盒白盒

  α、β、λ测试的区别

  α测试:是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试,目的是评价软件产品的FURPS(即功能、可使用性、可靠性、性能和支持)。

  β测试:是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成(文档、客户培训、产品支持、可支持性)。

  λ测试:是第三个阶段,此时产品已经相当成熟,只需在个别地方再做进一步的优化处理即可上市发行。

  负载测试、压力测试和性能测试的区别

  性能测试:为了获得系统在某种特定的条件下(包括特定的负载条件下)的性能指标数据。

  负载测试:模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(逐渐增加模拟用户的数量)或其他加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存),以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。负载测试更多地体现 了一种方法或一种技术。

  压力测试:在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。压力测试分为高负载下的长时间的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。

  什么是需求文档测试?

  测试需求中是否存在逻辑矛盾以及需求在技术上是否可以实现。

  关键字:测试需求、逻辑矛盾、技术实现。

  什么是设计文档测试?

  测试设计是否符合全部需求以及设计是否合理。

  关键字:测试设计、符合需求、是否合理。


作者:小菠萝测试笔记    

来源:http://www.51testing.com/html/12/n-7794912.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   据报道,MetaPlatformCEO马克·扎克伯格周一宣布,该公司为对抗Twitter而推出的Threads服务在短短5天内就吸引了1亿注册用户,超过ChatGPT,成为有史以来最快达到这一目标的网络平台。  Threads上周三正式推出后,吸引大批名人、政客和新闻机构入驻。这被外界视作埃隆·马斯克旗下的Twitter所面临的第一次严峻威胁。  “这几乎都是有机需求,我们甚至还没有启动太多推广。”扎克伯格在宣布这一里程碑的Threads文章中写道。  事实上,该应用突破1亿用户大关的速度远超OpenAI旗下的ChatGPT。根据瑞士银行的研究,后者在发布大约两个月后,于今年1月成为全球增...
            0 0 1482
            分享
          • 一、pytest简介pytest是一个非常成熟的全功能的Python测试框架。pytest框架特点:简单灵活,非常容易上手支持参数化支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests)pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等测试用例的skip和xfail处理可以与jen...
            1 2 2740
            分享
          •   苹果公司一直强烈否认 App Store 对 iPhone 应用程序有垄断性的控制,但该公司单方面关闭开发者账户而不给出解释的能力构成了一个典型的反垄断案例。  一家小型游戏开发商的 Apple Developer Program(ADP)账户被苹果公司无理由地终止,由于没有被告知需要解决哪些指控而无法上诉,于是该开发商将苹果公司告上法庭,在失去五个月的销售收入后,其账户终于被恢复,但仍然没有得到任何解释或道歉。  原告名为 Digital Will,是一家总部位于日本的软件解决方案开发商、数字营销代理商、游戏发行商和产品创新实验室,开发了数字游戏和应用程序等各种产品,这是一家只有六名员工...
            0 0 821
            分享
          • 登录1)空白用户名和密码均为空/用户名填写,密码为空/用户名为空,密码填写;2)错误校验输入错误的用户名和密码/用户名错误密码正确/用户名正确密码错误;3)大小写区分(如:用户名和密码都为小写时)用户名和密码均大写/用户名大写,密码小写/用户名小写,密码大写;4)存在空格合法的用户名或密码前插入空格/合法的用户名或密码中间插入空格/合法的用户名或密码后插入空格;5)已注销的用户名登录;6)已禁止/锁住的用户名登录;7)长短校验在给定的用户名和密码规则下,超出或少于指定的长度登录(测试临界值);8)非法字符校验(如@#¥%等字符);9)多次错误登录,是否锁住用户名或者密码在连续输错3次或者5次的...
            0 1 2474
            分享
          •   Pairwise(后称:配对测试)可以看作是正交测试用例设计的拓展,其目的是为了缩减测试用例集大小,以较小的测试用例集覆盖较全的测试点,降低测试损耗。  一、配对测试理论基础  配对测试用例设计基于以下两个假设:1、每一个测试点/维度都是正交的,即相互间没有交集;2、根据数学统计分析,73%的缺陷是由单因子或两个  因子相互作用产生的(其中单因子是35%,两个因子是38%)。因此,配对测试用例设计对于覆盖两因子交互产生的用例集性价比较高(这也在某些方面成为配对测试的一种局限)。  可能说到这里,还是对于测试维度、因子,有些似明非明、迷惑不解,我们用一个图来简单说下这两个是什么,它们之间什么...
            12 12 1191
            分享
      • 51testing软件测试圈微信