junit|2021-10-10 开发者测试经验总结
目录
经验总结
1.比赛策略
2.看清楚题目
2. 常常备份下测试代码
3.快速找到类之间的继承关系
4.快捷键的使用
4.建议测试用例都用try catch包住,不推荐在@Test使用expected参数。
5.合理运用辅助工具
6.抽象类的方法如何测试
7 仔细阅读代码的帮助,会给你很多启发
8. 打好基础
经验总结
1.比赛策略 不必准求完美,几个小时的时间,目标是尽可能提高覆盖率,不追求100%
好比地上掉了很多钱,马上要刮大风了,请问你怎么捡? 捡大钱是一个比较不错的策略。
不要卡在一个地方,先做灰的,毕竟时间很有限。
2.看清楚题目 确定到底是语句覆盖(statement cover) 还是 判定覆盖(brance cover)
要求不同,测试用例编写的量不一样
2. 常常备份下测试代码 建议吧测试代码文件夹备份
文章图片
3.快速找到类之间的继承关系 找到继承关系可以方便你在用某个类的实例时,快速的从对应的用例中拷贝过来
文章图片
public final class Json {
static class DefaultHandler extends JsonHandler
public abstract class JsonHandler {
public class JsonArray extends JsonValue implements Iterable
public class JsonObject extends JsonValue implements Iterable
class JsonLiteral extends JsonValue {
class JsonNumber extends JsonValue {
class JsonString extends JsonValue {
public abstract class JsonValue implements Serializable
static class HashIndexTable {
public static class Member {
public class JsonParser {
private static class PrettyPrintWriter extends JsonWriter
class JsonWriter {
public class PrettyPrint extends WriterConfig {
public abstract class WriterConfig {
public class Location {
public class ParseException extends RuntimeException {
class Writin
WritingBuffer extends Writer {
4.快捷键的使用 1)eclipse增加联想
2)// ctrl+2L 可以快速为表达式补充等号及左侧的变量定义部分,这可以提高编码速度。
3)
4.建议测试用例都用try catch包住,不推荐在@Test使用expected参数。 因为那样可能会由于不抛出异常而failure
@Test
public void test5() {
try {
// 这样子就不用太多时间考虑异常类型,至少程序不崩溃
testcodewriter here
} catch (Exception e) {
//e.printStackTrace();
//测试时可让最新的那个用例的改句打开,以了解代码的异常路径
}
}
5.合理运用辅助工具 例如,安装覆盖率插件,可以随时了解目前源代码覆盖情况,哪些地方未覆盖
cfg插件、
借助sourceinsight超找类、调用关系等
6.抽象类的方法如何测试 1)如果子类已经未覆盖抽象父类的方法,那么直接通过具体子类的实例调用父类的方法。
2)如果子类已经覆盖了抽象父类的方法,导致父类方法无法被调用,可以自己定义具体子类继承和实现抽象父类,从而在自己定义的类中写方法来调用父类的方法
7 仔细阅读代码的帮助,会给你很多启发 代码中有一些范例,帮助你快速理解代码
8. 打好基础 java大一的基础课再好好复习下
【junit|2021-10-10 开发者测试经验总结】建议把抽象类、类的继承、函数重写、输入输出流、数组、列表等看看
9. 相似类的测试代码相似 有些类结构相似,可能只是类型不同,这时可以考虑将用例复制过来,批量替换类型
具体还要自己衡量那个效率高,是自己重写,还是修改
推荐阅读
- 程序员客栈TOP收入的萌系开发者心得|程序员客栈TOP收入的萌系开发者心得 - 雨晴
- cocosbcx白皮书解读(一)|cocosbcx白皮书解读(一)| 区块链如何统一开发者、发行商、用户之间的利益
- 开发者真机测试总结
- 前端开发者的福音!通过拖拽就可生成Vue代码的平台来了!
- JS开发者值得一看的Flutter入门
- 开源生态|GPL、MIT、Apache...开发者如何选择开源协议(一文讲清根本区别)
- MobIM仅为开发者提供即时通讯的消息通道服务
- 开发者|开发者 | 几个提高远程办公效率的小建议
- Python开发者必知的13个Python|Python开发者必知的13个Python GUI库(转)
- 来自开发者的点赞!HMS|来自开发者的点赞!HMS Core荣获多个行业奖项