1.测试
-
黑盒测试
不知道软件的源代码.
-
白盒测试
知道应用程序的源代码
2.测试的粒度
- 单元测试 junit test
- 集成测试 intergration test
- 系统测试 system test
3.测试的程度
- 压力测试 (pressure test)
-
冒烟测试 (smoke test)
>monkey 猴子
打开cmd,输入adb shell 换行后输入# monkey 之后输入 #monkey 要测试的次数
4.Android下的junittest
需要把应用程序部署到真实的手机或者模拟器,在dalvik虚拟机里面运行.
步骤:
- 编写一个业务方法
- 编程测试类 extends AndroidTestCase
-
在清单文件中配置参数
<!-- 测试的指令集 -->
<instrumentation android:name="android.test.InstrumentationTestRunner
android:targetPackage="com.mythmayor.junit"></instrumentation>
<!-- 测试需要的jar包 -->
<uses-library android:name="android.test.runner"/>
5.logcat
把应用程序的执行的log打印输出.
System.out.println();
Log.i();
Log.v(tag, msg);//verbose 提醒
Log.d(tag, msg);//debug 调试
Log.i(tag, msg);//info 信息
Log.w(tag, msg);//warn 警告
Log.e(tag, msg);//error 错误
Log.wtf(tag, msg);//what the fuck.
6.数据存储
- 文件存储
1. 应用程序可以把数据存储在自己私有的文件夹里面.只能存储在自己的文件夹.
/data/data/<包名>/…
2. 应用程序可以把数据存储在外存储卡,sd卡(声明权限)
Environment.getExternalStorageDirectory()//获取外部存储卡的目录
检查sd卡是否可用,检查sd卡的剩余空间.
3. 参数 SharedPreferences
使用步骤:
1. 获取到 sp = this.getSharedPreferences("config", 0);
2. 获取编辑器 Editor editor = sp.edit();
3. editor.putString(key,value) putInt() putDouble()
4. editor.commit();
5. 获取数据 sp.getString(key,dafvalue); sp.getInt()...
4.获取资产目录(assets)下的资源文件
context.getAssets().open(文件名);
7.上下文
应用程序运行的环境.
- this.getFilesDir() —>data/data/包名/files 保存重要的配置信息
- this.getCacheDir() —>data/data/包名/cache 缓存目录
8.文件权限
- 应用程序在data/data/自己包名/目录下创建的文件默认都是私有的, 别的应用程序是不可以访问的
9.生成xml文件
- StringBuilder
-
Xml序列化器
// 1.得到xml文件的序列化器
XmlSerializer serializer = Xml.newSerializer();
// 2.指定序列化器的一些初始参数
File file = new File(getFilesDir(), name + ".xml");
FileOutputStream os = new FileOutputStream(file);
serializer.setOutput(os, "utf-8");
// 3.写xml文件.
serializer.startDocument("utf-8", true); 写开头
serializer.startTag(null, "number"); 开始标签
serializer.text() 写文本标签
serializer.endTag(null, "number"); 结束标签
serializer.endDocument(); 写结尾
serializer.attribute(null, name, value) 写属性
10.xml的解析
- SAX
- DOM & DOM4j
-
PULL解析
//1.获取到一个xml解析器
XmlPullParser parser = Xml.newPullParser();
//2.设置解析器的初始化参数
FileInputStream inputStream = new FileInputStream(file);
parser.setInput(inputStream, "utf-8");
//3.解析xml文件
XmlPullParser.START_TAG 开始节点
XmlPullParser.END_TAG 结束节点
parser.nextText(); <tag>foo</tag> 取两个节点中的foo文本
parser.getName(); 获取当前节点的名称
parser.next(); 让解析器解析下一个节点.