1. 开源产品经验
从UBUNTU的开发测试中可窥典型开源产品测试之一斑:
1) ISO testing
2) SRU testing
3) Bug triage
4) Feature testing
5) Daily smoke testing
6) General testing:Ubuntu is more than its default installation and basic tasks - it's an entire repository of software and possible configurations. We need to test as much of it as possible, and some things aren't well covered by established test cases and procedures. General testing is as simple as attempting to use the development release and reporting whatever problems you run into.
7) Application testing:Application testing is the manual testing of specific things (test cases) in applications. Regression tests are specific tests for potential breakages from one release to another (they're also relevant for SRU testing, above).
Automated testing:Automated testing is the conversion of large numbers of test cases into simple scripts. They can often be run in bulk with a single command.
9) Laptop testing
2. Meego软件开发测试
2.1. 从meego 开发流程看测试流程
Meego开发流程:
测试主要发生在Develop Debug阶段,包括单元测试和系统测试。一般经验是在开发过程中伴随单元测试,系统集成完之后进行系统测试,从持续集成观点看,鼓励快速集成,日/夜构建及测试。具体测试流程需要和腾讯及OTC商议确定。
2.2. 单元测试阶段
单元测试在软件开发阶段,由开发人员编写test case并执行测试。Meego官方推荐了22+种测试工具,简要介绍如下几个:
• Valgrind, Coverity, gprof, gcov
• Tdriver – Test automation driver for UI or functionality testing
• Test Runner – An automated test execution tool, takes XML test plan as input
• QTestlib
• QML性能检测工具
具体细节参见文档《Meego单元测试工具汇总》
测试出来的Bug使用bugzilla或Trac管理.
2.3. 系统测试阶段:
分为手动/半自动和自动化测试,Meego官方分别给出了这两种测试流程:
2.3.1. 手动/半自动化测试流程
主要流程包括:
1) 测试规划;
2) 执行测试:可以使用一些命令行工具,如:Testrunner 和 testrunner-lite 。
3) 生成测试报告;
2.3.2. 自动化测试流程
主要流程包括:
1) BOSS creates test automation enabled images from OBS projects (This part is not working yet. Currently OTS uses self made images.)
2) OTS downloads the image and installs it to a device under test
3) OTS executes tests found in the image
4) OTS sends results to qa-reports.meego.com
2.3.3. OTS简要介绍:
目标:提升自动化测试效率及设备上软件测试质量(可以在硬件上如N900执行),其所提供服务和主要功能见下表:
主要功能 Distribution Load balancing Remote command running Hardware control Data Acquisition Data Analysis
所提供的服务 Fully Open Source Web server Extensible Architecture Interoperability
OTS工作流程:
2.3.4. Meego开发主要系统测试内容
1) Functionality quality characteristics
a) Functional (accuracy) testing:
b) Functional (suitability) testing:Testing shall also evaluate the application's or component's tolerance to faults in terms of handling unexpected input values, data, messages or triggers (so-called negative tests).
c) Technical Security Testing:
2) Efficiency quality characteristics
Frame rate,Latency,Response,Benchmark,Throughput,Memory,Load,etc.
3) Reliability quality characteristics
Robustness Testing, Recoverability Testing, Iterative, Long-lasting.
4) Usability quality characteristics
Test type User experience
5) Maintainability quality characteristics
Dynamic maintainability testing, Changeability testing,
6) Portability quality characteristics
Install ability testing, Compatibility testing, Adaptability testing, Replace ability testing
3. 总结
1. 开发阶段,应以开发和单元测试为主,后期可以配合其他app及系统开发执行持续集成,实现日/夜构建及测试。
2. 单元测试有开发人员实现和执行,可以借助于相应工具实现内存,功能,性能等测试。
3. 集成完之后,执行系统测试,如果可以借助于OTS则测试流程更加规范,但复杂度也远高于手工测试。
4. 参考:
[1] Development process for 3rd Party MeeGo Application Developers(PPT)
[2] http://wiki.meego.com/Quality/QA-tools
[3] http://www.youtube.com/user/meegoqatools
[4] http://wiki.meego.com/Quality/Test_management_overview
[5] http://wiki.meego.com/Quality/QA-tools/OTS/ExampleSetup
[6] http://wiki.meego.com/Quality/Test_areas_and_types
原文地址: