软件测试查漏补缺(一)——驱动开发、系统测试、测试工具

一、测试驱动开发

英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。
TDD要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。
举个实际例子
盖房子的时候,工人师傅砌墙,会先用桩子拉上线,以使砖能够垒的笔直,因为垒砖的时候都是以这根线为基准的。TDD就像这样,先写测试代码,就像工人师傅先用桩子拉上线,然后编码的时候以此为基准,只编写符合这个测试的功能代码。
而一个新手或菜鸟级的小师傅,却可能不知道拉线,而是直接把砖往上垒,垒了一些之后再看是否笔直,这时候可能会用一根线,量一下砌好的墙是否笔直,如果不直再进行校正,敲敲打打。使用传统的软件开发过程就像这样,我们先编码,编码完成之后才写测试程序,以此检验已写的代码是否正确,如果有错误再一点点修改。

二、系统测试

系统测试:系统测试是指将通过集成测试(在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试)的软件系统,作为计算机系统的一个重要组成部分,与计算机硬件、外设、某些支撑软件的系统等其他系统元素组合在一起所进行的测试,目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或矛盾的地方。

系统测试包括功能测试,性能测试(负载测试、强度测试等),压力测试,容量测试,安全性测试,GUI测试(易用性测试),可用性测试,安装测试,配置测试,异常测试,备份测试,健壮性测试,文档测试,在线帮助测试,网络测试,稳定性测试

系统集成测试主要包括以下过程:

  1. 构建的确认过程。
  2. 补丁的确认过程。
  3. 系统集成测试测试组提交过程。
  4. 测试用例设计过程。
  5. 测试代码编写过程。
  6. Bug的报告过程。
  7. 每周/每两周的构建过程。
  8. 点对点的测试过程。
  9. 组内培训过程

手机软件的系统测试:

通常包含以下几个角度:

<1>功能模块测试:首先分析功能模块的功能项,测试每一个功能项是否能够实现对应功能。一般根据测试用例和软件本身的流程就可以完成基本功能测试。

<2>交叉事件测试:又叫做事件或者冲突测试,是指一个功能正在执行过程中,同时另外一个事件或者操作对该过程进行干扰的测试。例如通话过程中接收到短信或者闹铃触发,应用软件运行过程中插拔充电器等。执行干扰的冲突事件不能导致应用软件异常、手机死机、花屏等严重问题。

<3>压力测试:又叫做边界值容错测试或极限负载测试。即测试过程中,已经达到某一软件功能[存储、网络、响应能力]的最大容量、边界或者最大承受极限,仍然对其进行相关操作。例如连续接收或者发送短信,超过收信箱和SIM卡所能存储的最大条数,仍然进行接收或者发送,依次来检测软件在超常态下的表现,进而进行评估用户能否接受。
对手机可以施加的压力测试类型主要包括:
->存储压力:由于手机采用的是栈式存储,所以当一个存储块满了之后,程序员不做相应处理的话,就会导致其他存储区被删除。
->边界压力:边界处理问题一直是容易被忽略的地方
->响应能力压力:有时某些操作可能处理的时间较长,如果在处理期间,继续进行其他操作时候就会出现问题。
->网络流量压力:执行较大数据流量的功能同时,在进行其他操作,使得网络流量始终处于很高的状态,检验各个功能是否依然正常工作,是否存在因为网络流量瓶颈引起的某功能异常。

<4>容量测试:即存储空间已满时候的测试,包括用户可用内存/SIM卡所有空间被完全使用的测试。此时在对可编辑模块和存储空间进行操作,如果软件在极容状态下处理不好,将会导致死机或者花屏等问题。

<5>兼容性测试:不同品牌、型号手机,不同网络,不同容量大小的SIM卡之间的兼容性测试。例如:中国电信的小灵通接收到中国移动或者中国联通GSM发来的短消息,需要验证显示和回复是否正常。

<6>易用性、用户体验测试:在指定条件下,软件产品被理解、学习、使用和吸引用户的能力,是交互的适应性、功能性和有效性的集中体现。

三、测试工具

a.负载压力测试:预测系统行为和性能,LoadRunner是一个工业标准级负载测试工具,可模拟上千万用户同时实施并发操作,来实时监控可能发生的问题。JMeter+Badboy:基于JAVA的压力测试工具,Badboy用来进行脚本的录制

b.功能测试:通过自动录制、检测和回放用户的应用操作,将输出记录同预先给定的记录比较。 QTP(quicktest professional):自动测试工具

c.单元测试工具:https://blog.csdn.net/qq_42434318/article/details/109272438

d.白盒测试:针对代码测试,工具有:C++ TEST(做C和C++的白盒测试)、JUnit(Java白盒测试)

e.测试管理工具:对测试需求、计划、用例、实施进行管理,其一是缺陷管理工具:常用工具Mantis、BugFree、QC、TD ,其二有用例管理工具:TestLink、QC

f.测试辅助工具:本身不执行,可以生成测试数据,为测试提供数据准备,常用工具有:SVN

软件测试查漏补缺(一)——驱动开发、系统测试、测试工具相关推荐

  1. Android系统开发和性能优化——查漏补缺【建议收藏】

    做了这么久性能相关的工作,也接触了不少模块,说实话要做好性能这一块,真心不容易.为什么这么说? 是因为需要接触的知识实在是太多了, Android 是一个整体,牵一发而动全身,不是说只懂一个模块就可以 ...

  2. iOS 查漏补缺 - RunLoop

    RunLoop 在 0202 年的今天其实已经不是个新鲜的话题了,关于这方面的文章网上有很多大神总结得非常精辟. 作为 iOS 查漏补缺系列,这篇文章是笔者探索 RunLoop 底层的一些知识点总结, ...

  3. 算法岗面经整理!查漏补缺

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:阿毛冲冲冲,来源:NewBeeNLP(牛客网) 写在前面 三月面试 ...

  4. 无效字符 java_Java知识查漏补缺

    Java基础知识查漏补缺 单元测试中,Mock对象的存在破坏了面向对象中的封装 mock对象:也成为伪对象,在测试中的利用mock对象来代替真实对象,方便测试的进行. java的封装性:指的是将对象的 ...

  5. 思维导图是一个查漏补缺的好工具

    大家好,我是记得诚. 前几天一个读者私聊我,说想从事硬件基带这一行,问了一些问题,我说得多看看企业的招聘要求. 企业招人,最看中的是契合度. 为了能进心仪的企业,我们必须达到他们的要求,所以解读招聘要 ...

  6. java怎么快速补缺_Java基础查漏补缺(1)

    Java基础查漏补缺 String str2 = "hello"; String str3 = "hello"; System.out.println(str3 ...

  7. 前端面试查漏补缺--(二) 垃圾回收机制

    前言 本系列最开始是为了自己面试准备的.后来发现整理越来越多,差不多有十二万字符,最后决定还是分享出来给大家. 为了分享整理出来,花费了自己大量的时间,起码是只自己用的三倍时间.如果喜欢的话,欢迎收藏 ...

  8. 前端面试查漏补缺--(三) 跨域及常见解决办法

    前言 本系列最开始是为了自己面试准备的.后来发现整理越来越多,差不多有十二万字符,最后决定还是分享出来给大家. 为了分享整理出来,花费了自己大量的时间,起码是只自己用的三倍时间.如果喜欢的话,欢迎收藏 ...

  9. Power BI查漏补缺_1

    学习网站:Power BI Tips - YouTube 系列文章 Power BI查漏补缺_1_chichi_magic的博客-CSDN博客 Power BI查漏补缺_2_chichi_magic的 ...

最新文章

  1. R语言使用ggradar包可视化基本雷达图(radar chart、蜘蛛图spider plot)、可视化单个数据对象的雷达图、自定义雷达图的线条类型、线条宽度、数据点大小、色彩等
  2. Visual Studio 2005 Beta 2 will ship on April 25th
  3. 区块链BaaS云服务(39)时戳信息Bystack
  4. python计算文件md5值
  5. git 命令使用技巧
  6. 为什么全天坐在电脑前会让你精疲力竭
  7. python configparser模块_Python标准库之ConfigParser模块
  8. 不会吧不会吧!不会有人还有没有用CSDN的浏览器插件吧!
  9. leetcode 429 层序遍历n叉树(C语言)
  10. 调整SAP系统中物料账和财务账的期间
  11. 十六、字符串和数组之间的转换
  12. 国产平板面临变局挑战,谁能撑起民族大旗?
  13. Cygwin的中文支持(解决乱码)
  14. 学习Google Chrome源码
  15. GIMP教程 2 文字工具
  16. java lockmodetype_java-org.hibernate.lockmode.pessimistic_write的行为
  17. python 实现雪容融
  18. 一位非米粉关于小米的深度报告
  19. 踩坑:使用jquery的data()方法获取不到自定义属性的值
  20. Windows平台搭建Spark开发环境(Intellij idea 2020.1社区版+Maven 3.6.3+Scala 2.11.8)

热门文章

  1. memont高级使用说明
  2. windows server 2008R2怎么设置活动但空闲的远程桌面服务会话时间的限制
  3. python3使用代理 报错MaxRetryError
  4. 解决在使用wandb时出现SSLError的思路
  5. OpenGL | 设置视口glViewport 裁剪glScissor 屏幕截图 glReadPixel
  6. SecurityConfig+TokenConfig+Oauth2Config--CureGuy
  7. TCAM与HASH表的差异
  8. 短时傅里叶变换(STFT)及matlab
  9. AI测试】人工智能测试整体介绍——第五部分
  10. 【数据结构】二叉树的节点总个数、叶子节点个数、第K层节点个数、二叉树的深度