- 浏览: 30456 次
-
最新评论
许多开发者都有个习惯,常常不乐意去写个简单的单元测试程序来验证自己的代码。对自己的程序一直非常有自信,或存在侥幸心理每次运行通过后就直接扔给测试组测试了。然而每次测试组的BUG提交过来后就会发现自己的程序还存在许多没有想到的漏洞。但是每次修改好BUG以后还是怀着侥幸心理,认为这次不会有 bug了。然后又一次自信地提交,结果又败了。因为这样反复几次后。
开发者花在找BUG和修复BUG的这些时间加起来已经比他开发这个模块花的时间还要多了。虽然项目经理已经预留了修改BUG和单元测试的时间。但是开发者却习惯性地在写好代码后就认为任务完成了。然后等问题出来了bug改了很多次还是修复不了的时候才和项目经理说“我碰到预想不到的问题,可能要延期发布我的代码“。如果这个项目不可延期,痛苦的加班就无法避免了。
为什么有这么多的BUG开发者却没发现呢。其实开发者是人又不是机器。人非圣贤孰能无过。BUG是不可避免的,只是每次在修复一个BUG之前基本上无法知道这个BUG是哪段代码引起。每次定位BUG可能会耗去你一个小时还是一天,这还要取决于你的水平了。
但是如果你的每段核心程序都有单元测试代码,你将不需要靠你的经验去判断或猜测BUG是由哪段程序引起,你只要运行你的单元测试方法。通过简单判断测试方法的结果就可以轻松定位BUG了。所以从表面上看,为每个单元程序都编写测试代码似乎是增加了工作量,但是其实这些代码不仅为你织起了一张保护网,而且还可以帮助你快速定位错误从而使你大大减少修复BUG的时间。而且这还有利你的身体健康,你将不会因为找不出BUG而痛苦不已,也将不用废寝忘食地加班了。而且项目的进度也将尽在掌握。
其实单元测试不仅能保证项目进度还能优化你的设计。有些开发者会说,写单元测试代码太费劲了,比写业务代码还麻烦。可是如果强迫开发者必须写单元测试代码的时候,聪明且又想‘偷懒’的开发人员为了将来可以更方便地编写测试代码,唯一的办法就是通过优化设计,尽可能得将业务代码设计成更容易测试的代码。慢慢地开发者就会发现,自己设计的程序耦合度也越来越低,每个单元程序的输入输出,业务内容和异常情况都会尽可能变得简单。最后发现自己的编程习惯和设计能力也越来越老练了。
其实容易测试的代码基本上可以和设计良好的代码划等号。因为一个单元测试用例其实就是一个单元的最早用户。容易使用显然意味着良好的设计。
有着良好设计的项目一直是很注重代码重用的。要做到代码重用首先要保证被重用的单元程序必须是个非常优秀的程序,除了良好的设计,还要有详细的文档。另外最重要的其实是单元测试代码。
单元测试代码还可以通过简单的事务回滚功能在生产环境上做基于真实数据的测试而不用担心会产生不必要的数据。利用这样的测试代码我们可以在发布程序后 check 刚才的发布是否成功。
很多研究结果表明,bug发现的越晚,修改它所需要的成本就越高,因此从成本角度来看,应该尽可能早地查找和修改bug。或许有人会有异议?程序员把bug 全找出来了,测试组干嘛?其实测试组进行的是集成APP测试,这样的测试无法全面的考虑到每个单元被调用时用的各种输入参数。就像一辆汽车,对每个零件进行测试是必须的。对组装好的汽车进行测试是无法代替每个零件的单独测试。或许对组装好的汽车进行测试可以发现某些零部件的问题。但是这个时候发现了问题就需要把汽车拆了换零件再装上。造成的成本可想而知。
发表评论
-
移动互联网时代,传统金融行业的转变?
2017-10-16 16:57 333互联网正不断与越来越 ... -
移动APP领域的新战场—用户争夺战
2017-10-12 15:01 384之前,工信部发布的“ ... -
在金融APP做自动化这条路上,我们填过哪些坑?
2017-09-05 16:33 496从市场上金融企业对app ... -
浅谈移动端性能测试的方法和应用
2017-08-30 11:34 379随着移动设备的普及 ... -
谷歌正式发布Android 8.0,TestBird支持Android Oreo测试
2017-08-24 16:57 4328月22日凌晨,谷歌发布了 Android 8.0 操作系统的 ... -
重度游戏热度居高不下,中轻度游戏如何突出重围?
2017-08-22 17:06 405据当乐网报道,早 ... -
Android性能测试之流畅度测试
2017-07-18 18:13 506流畅度测试简单的来说就是Android页面绘制。Andro ... -
移动web性能测试要点
2017-07-07 17:47 390性能测试 1.连接速度测试 用户连接到Web应用系统的 ... -
对于性能测试的那些需要注意的事
2017-07-06 18:12 494之前有做过几次做性能 ... -
Android app安全性能测试
2017-07-04 18:18 7931.安装包测试 (1)能否反编译代码(源代码泄露问题): ... -
一般app测试的最佳方法
2017-06-23 17:39 339一提到软件测试,测试员基本想到的就是去检查文件,功能,AP ... -
App测试中需要考虑网络因素的测试点
2017-06-16 18:10 416当前app的网络环境比 ... -
移动应用安全测试方法总结
2017-06-09 15:27 3211.软件权限 1)扣费风 ... -
Android应用功能测试策略
2017-06-06 17:27 284根据软件说明或用户需求验证App的各个功能实现 ,采用如下 ... -
品质化时代 CP如何把控手游产品质量关
2017-05-31 17:41 332近年来,手游业发展迅 ... -
对移动测试领域来说,精准测试是否重要
2017-05-26 17:33 376是否在做回归测试的时候常常会因为范围评估不准而遗漏一些bu ... -
移动app测试之怎么避免bug漏测
2017-05-17 17:49 393下面分析出现缺陷漏 ... -
移动app如何进行自动化和探索性测试
2017-05-12 16:48 407在测试设计时最主要依据的就是测试金字塔的测试结构。如果在项目 ... -
详解iOS和Android在测试上的不同
2017-05-11 16:52 313只有了解iOS和Android操作系统的不同设计理念,才能 ... -
移动app增量升级测试需注意的问题
2017-05-04 17:43 452作为一个用户,测试 ...
相关推荐
**Android APP测试报告** 在移动应用开发领域,测试是确保产品质量和用户体验的关键环节。这份《2015大管家 安卓 V1.0 版评测报告》详细地阐述了针对该应用程序的全面测试过程,提供了对产品性能、UI设计、用户体验...
Android APP渗透测试方法大全-137页
Android APP 渗透测试方法-137页.pdf
Android APP 专项测试是指针对 APP 应用程序在 Android 系统中特有的功能特性,进行的区别于其他(如 iOS 测试或者 WEB 端测试)的测试方法。本文将从 Android APP 的流量测试、电量测试、弱网络测试、稳定性测试、...
App测试与Android的区别主要集中在操作系统特性、设备多样性、用户交互方式、系统兼容性以及软件生命周期的不同阶段。以下是对这些区别的详细阐述: 1. **操作系统差异**: - iOS和Android的操作系统有着本质的...
Android APP 渗透测试方法大全 一、Android APP 渗透测试方法 二、工具使用 三、常用测试工具以及环境平台 四、风险等级评定
首先,为了在Android项目中启用单元测试,我们需要在build.gradle文件的app模块中配置测试编译依赖项。这通常包括JUnit库和Android测试支持库: ```groovy dependencies { testImplementation 'junit:junit:4.13.2...
《大话移动APP测试:Android与iOS应用测试指南》是一本深入探讨移动应用测试领域的专著,由资深测试专家陈晔撰写。这本书旨在为开发者、测试工程师以及对移动应用质量控制感兴趣的人士提供全面而实用的测试策略和...
《大话移动APP测试》是一本详尽介绍Android与iOS平台测试应用的指南,旨在帮助读者深入理解并掌握移动应用的测试技术。本书全面覆盖了移动端的测试领域,包括平台特性、设备兼容性、功能测试、性能测试、安全测试等...
单元测试是对软件中的最小可测试单元进行检查和验证,对于Android应用来说,这通常是一个方法或者一个类。它的目的是确保每个独立的部分都能按预期工作,以便在集成和系统测试阶段能够顺利进行。 在这个实例中,被...
Windows 桌面双击启动 或命令行启动 benjamin> java -jar /AndroidAPP.jar 3、GUI界面启动后,点击获取APK信息即可 2019年3月7日 1.优化Android 8.0上清理应用程序失败未提示的bug 2.增加卸载功能 3.解决备份apk时...
在 Android 平台上,`iperf` 通常被开发成 APP 形式,以便用户能够方便地在移动设备上进行网络性能测试。以下将详细介绍 `iperf` 在 Android 上的应用及其相关知识点。 1. **iperf 工作原理** - `iperf` 使用 TCP ...
Android客户端安全测试指南,
UI 测试测试用户界面布局、风格是否满足客户要求,文字是否正确,页面是否美观,文字、图片组合是否完美,操作是否友好等。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。 4....
Android软件测试是对应用程序进行全面验证的过程,确保其符合用户需求、设计规范和性能标准。测试不仅涉及查找和修复错误,还关注提升软件质量和用户体验。本文将详细介绍Android测试的各个方面。 首先,我们来理解...
* Android 各种机子和 ROM 问题多,需要进行适配和测试 * iOS 和 Android 项目开发的协作和整合 * Android APP 开发中常见的问题和解决方案 通过本教程,读者可以快速掌握 Android APP 开发的基本技能,从开发环境...
android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo...
Android APP渗透测试方法checklist!