Android实践项目汇报(四)
4系统的测试
4.1程序调试
在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。
4.2程序的测试
4.2.1测试的重要性及目的
(1)测试的重要性
在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括:
①认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感;
②以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定;
③测试工作枯燥无味,不能引起人们的兴趣;
④测试工作是艰苦而细致的工作;
⑤对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法。
这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。
(2)测试的目的
如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。
①软件测试是为了发现错误而执行程序的过程;
②测试是为了证明程序有错,而不是证明程序无错误;
③一个好的测试用例是在于它能发现至今未发现的错误;
④一个成功的测试是发现了至今未发现的错误的测试。
这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。
首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。
4.2.2测试的步骤
与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成:
(1)模块测试在这个测试步骤中所发现的往往是编码和详细设计的错误。
(2)系统测试在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。
(3)验收测试在这个测试步骤中发现的往往是系统需求说明书中的错误。
4.3具体模块测试
对于一个成熟的APK我们不仅要让各个模块功能简单的实现,还要关注用户的体验感,当用户触摸各个按钮时应给是流畅的,不要出现系统“卡死”的现象,因此我们还要特别设置一个测试:触摸测试和界面反应测试:
4.3.1界面反应测试以及触摸测试
测试步骤如下:
1、首先将编好的APK安装的自己手机,找到“玩转英语”程序并打开;关注下手机反应时间以及主界面是否清晰;与手机配置有一定的关系;
2、触摸屏幕上的各个按钮,测试是不是能正常显示以及正常反应
测试结果如下:
图4-3-1界面反应测试以及触摸测试
可以正常进入系统,而且可以正常的进入主界面,依然可以看到主界面的模块。运行结果良好.
4.3.2单词查询功能的测试
测试步骤如下:
1、点击“查询”图标,进入单词查询界面
2、输入单词是否能顺利的添加单词
3、对单词数据进行查询,看是否能顺利的查到单词
测试要点为:
1、点击图标之后,能否进入管理界面
2、管理界面中,看是否能顺利的查询单词的意思
测试结果如下:
图4-3-2 查词模块测试
遇到的问题:
出现:This LinearLayout layout or its LinearLayout parent is possibly useless
解决办法:在LinearLayout布局当中嵌套了一个子的LinearLayout布局,而在我的这个整个布局文件中是一最外层的LinearLayout为父控件进行整体布局的,从而造成这段布局代码重复了LinearLayout布局。所以只要把多余的LinearLayout去掉就可以了