>

必赢娱乐官方网站:gradle项目中productFlavors使用方

- 编辑:必赢娱乐官方网站 -

必赢娱乐官方网站:gradle项目中productFlavors使用方

 产品信息:

1. 不同产品,不同包名

android {
  productFlavors{
        productA{
            applicationId "com.crazyman.product.a"
            versionName "version-a-1.0"
        }

        productB{
            applicationId "com.crazyman.product.b"
            versionName "version-b-1.0"
        }
    }
}

不仅仅是包名,versionName 等信息都可以设置

锌钢护栏是指采用锌合金材料制作的用于不同部位、具备不同功能性的围护栏杆,由于其后期是用静电喷涂处理表面层,使具有高强度、高硬度、外观精美、色泽鲜艳等优点,成为住宅小区、工厂院校、道路交通等使用的产品。必赢娱乐官方网站 1必赢娱乐官方网站 2必赢娱乐官方网站 3必赢娱乐官方网站 4必赢娱乐官方网站 5

2. 不同产品,不同渠道号

  • 先在android manifest文件配置一个节点
<meta-data
    android:name="APP_APPKEY"
    android:value="${app_appkey}"/>
  • 然后再productFlavors中分别配置
productFlavors{
        productA{
            manifestPlaceholders = [app_appkey:"fiehowefnnd7663"]
        }

        productB{
            manifestPlaceholders = [app_appkey:"655dued109rh4fg"]
        }
    }

注:manifestPlaceholders必赢娱乐官方网站, 用于替换 manifest 文件中的变量值

不同公司测试主管/经理/leader有不同的定位和不同的方向,不管如何定位,下面几件事情是测试主管需要重点考虑的:
1)人员能力和团队整体能力
这个问题有三个层面:
a. 每个人有不同的专长。不同人有不同的侧重,但是要互相备份,避免因人员调整、离职等出现断档
b. 团队整体能力。 团队是一个整体,要能覆盖团队所负责产品的不同层面。比如产品在不同行业的不同应用场景
c. 人员技术水平的层次化。对于大的领域要有高、中、低三档,来满足不同任务的要求,以及实现ROI的最大化。

3. 不同产品,不同库

dependencies {
    # ....
    productACompile 'io.reactivex.rxjava2:rxjava:2.0.1'
    productATestCompile 'io.reactivex.rxjava2:rxjava:2.0.1'
}

2)被测产品的整体测试策略
不同产品不同策略:不同的被测产品/系统,针对的客户不同,使用的场景不同,业界的要求差异,也就存在不同的测试策略。
不同产品不同测试方式:手工和自动化要有所取舍。 哪些需要单元测试,哪些不需要;边界测试在什么地方;界面是录制还是编写代码实现等等不同的策略都需要根据产品的不同特点来进行。

4. 不同产品,不同代码

库可以不一样,代码当然也可以不一样了,gradle中有一个source set的概念,对于不同的产品,可以设置不同的source set。通常,创建工程后,AndroidStudio默认帮我们创建了应用于所有产品的代码集main,它的对应的目录是src/main,我们也可以创建每个产品特有的代码集src/productA,src/productB这样,名字产品名字是对应的。在编译的时候,默认会将这些代码集加入编译,这样就实现了不同产品,不同代码。这种用法也是非常广的,比如两个产品实现同样的接口,但是底层实现不一样。

3)产品质量、测试过程的评价标准
产品质量评价有两种方式,一种是通过测试用例的覆盖程度、遗留问题数量等进行正向的评价;另一种是通过产品在市场上的反馈,逆向的进行评价。一般要采用两种方式结合,前者判断发布风险,后者进行问题回溯追责。
产品测试完成发布后,要进行复盘,重新审视测试过程中可以改善的地方,以积累经验避免后续再次出现。

5. 不同产品,不同资源

这个用法其实和上面是一样的,代码集中可以定义资源,这样就做到了不同的产品,使用不同的资源,同样可以定义不同的AndroidManifest文件,比如申请不同的权限之类的。

除了上述内容以外,还需要考虑测试团队基础能力的建设和积累,比如:
a. 产品测试模型的持续积累,不同产品不同模型,一般同一个团队所负责的产品都是可以相互借鉴的。
b. 测试用例的积累。这个用例是广义的,既可以是指导手工测试的用例,也可以是指导测试的启发式列表,还可以是单元、集成、接口等的自动化用例。
c. 测试工具的积累。比如协助进行测试的抓包/发包工具、类似traffic control的网络模拟工具、robotframework等的自动化工具等
d. 各种经验的积累。不同产品积累不同的经验,有关于测试策略的、有关于问题解决方式的、有关于行业特点的等等,多积累才能避免后续犯同样的错误。

测试主管需要考虑的事情不仅仅是技术,还包括从人员到项目、从工具选择到测试策略的各个方面,事务相对比较杂,同时又要具备专业性,与广大测试主管共勉。

本文由体育教学发布,转载请注明来源:必赢娱乐官方网站:gradle项目中productFlavors使用方