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

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

一、测试驱动开发

英文全称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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值