Android调试方法大全
作者:网络转载 发布时间:[ 2013/9/13 15:11:55 ] 推荐标签:
使用JUnit调试
Android增加了对JUnit的支持,这对程序员来说,是个很好消息。
首先说明下JUnit是用来解决什么问题的?JUnit是采用测试驱动开发的方式,也是说在开发前先写好测试代码,主要用来说明被测试的代码会被如何使用,错误处理等;然后开始写代码,并在测试代码中逐步测试这些代码,直到后在测试代码中完全通过。
看了是否感觉有些不符合程序员的思维习惯(先写代码然后在调试),的确这也是JUnit是对程序员思维的“颠覆”。在这里我自己也感觉,好像很难做到,为什么?在一匹“马”没有完全设计好前,怎么规定这匹“马”将来会如何跑?而且即使把“马”将来会如何“跑”定义好了,在实现的时候“马”被改变了怎么办?说到底还是:一个人不能同时具有2个角色,否则自己有时候不知道当前是哪个角色!
说到这里,我说明下,我自己对JUnit“错误”的使用方法,这也许与JUnit测试驱动开发的目的相矛盾,但是的确可以有效地减少bug。JUnit从核心来说是将源代码与测试代码完全分开,将测试代码作为一个单独的程序。前面介绍的方法,都将源代码与测试代码合为一体,由于源代码的重要性大于测试代码的重要性,所以测试代码经常有不完整、结构不清晰等问题,这样程序员的单元测试也不完整。JUnit是被我用来做完整的单元测试,对当前的部分代码,测试其在每种“环境”下的运行结果。
现简要说下JUnit的几个主要功能:
JUnit首先有管理测试用例的功能。修改了哪些代码,这些代码的修改会对哪些部分有影响,通过JUnit将这次的修改做个完整测试。这也JUnit中所谓的TestSuite。
如何定义需要测试的代码?这也是JUnit中所谓的TestCase,根据源代码的测试需要定义每个TestCase,并将TestCase添加到相应的TestSuite方便管理。
如何定义测试的“环境”?在TestCase测试前会先调用“环境”配置,在测试中使用,当然也可以在直接测试用例中定义测试“环境”。
为重要的部分,测试结果的检测。对于每种正常、异常情况下的测试,运行结果是什么、结果是否是我们预期的等都需要有个明确的定义,JUnit在这方面提供了强大的功能。
以上部分与我们平常使用IDE调试的过程是完全一样的,只不过是增加了测试用例管理、测试结果检测等功能,提高了单元的效率,保证了单元测试的完整性,明确了单元测试的目标。带着以上4个问题,简要举例并分析如下:
源代码如下:
publicclassSampleCalculator{publicintadd(intaugend,intaddend){returnaugend+addend;}publicintsubtration(intminuend,intsubtrahend){returnminuend–subtrahend;}}测试代码(TestCase)如下:importjunit.framework.TestCase;publicclassTestSampleextendsTestCase{publicvoidtestAdd(){SampleCalculatorcalculator=newSampleCalculator();intresult=calculator.add(50,20);assertEquals(70,result);}publicvoidtestSubtration(){SampleCalculatorcalculator=newSampleCalculator();intresult=calculator.subtration(50,20);assertEquals(30,result);}}
以上TestSample测试用例中对SampleCalculator进行了完整的单元测试,并对测试结果做了预期说明。当然还需要将TestSample增加到TestCase中方便管理。
importjunit.framework.Test;importjunit.framework.TestSuite;publicclassTestAll{publicstaticTestsuite(){TestSuitesuite=newTestSuite(“TestSuiteTest”);suite.addTestSuite(TestSample.class);returnsuite;}}
以上将TestSample增加到”TestSuiteTest”中,将来在选择测试用例的过程中只要选择了TestSuiteTest,TestSample将加入当前测试中。如果将来SampleCalculator增加了其他功能,只需要在TestSample增加相应的测试,可以对TestSample进行完整单元测试。
看到这里对上面4个问题,应该都有了大致的了解。后需要说明的:对TestCase的管理,是完全界面化的,只需要按照JUnit的要求实现会自动产生UI界面,这个不必担心,还需要下载JUintpackeage,根据需求选择自己需要的。大胆尝试下,你会发现编程真的可以如此“美好”。
总结说明
以上是在工作中总结的代码调试的方法,并结合Android应用程序开发,为将来深入开发Android应用程序打好坚实的基础。
再次总结说明
以上内容并不是完全由我原创,由于这篇文章讲得很全,所以我修改了网友的一些文笔和错误,而且我也找不到原文出处了,因此我从我的word里面复制了上来,希望对大家有所帮助。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11