论文部分内容阅读
【摘要】:随着社会经济的迅速发展,手机已是人们生活中不可缺少的信息通讯工具。并且手机硬件性能的提高使得手机软件应用程序日渐复杂,如面向实用性,体积小,集成度高,质量有保证,内存不丰富等等所以手机的软件开发是非常重要的。本文介绍了软件测试的基本概念和理论;针对智能手机自身特点,结合从事手机软件开发和测试的经验,提出了在各个不同开发阶段的测试策略,给出了针对我国手机软件开发现状的质量控制方案。
【关键词】:智能手机;软件开发;质量控制策略
前言:
手机的特色主要集中在移动互联,个人信息管理,多媒体等领域.随着手机硬件性能的提高,这些领域的应用程序也日见复杂.由于手机软硬件的自身特点,如面向特定应用,实时性,低功耗、体积小、集成度高,内存不丰富,开发工具昂贵等等。软件开发过程中的质量控制策略与普通软件有很大不同。
1.软件测试的基本概念和方法
1.1基本概念
虽然软件产业产品和测试方法各式各样。但是目前仍有很多各样软件测试方法都基本可用的常用概念和方法。我们这里介绍的思路和方法就是可用于多数应用软件的测试。有六个有关软件测试方法的基本概念是很重要的:黑箱测试、白箱测试、灰箱测试、有效用例和无效用例、边界条件以及等价类测试。黑箱测试是通过整个软件或某种软件功能来严格的测试,而并没有通过检查程序的源代码很清楚的了解该软件代码程序的具体是怎样设计的。白箱测试这种类型的测试需要代码句法发现内部代码在算法、路径、条件等等中的错误和缺点,并且进行修改。灰箱测试就像黑箱测试一样是通过用户界面来进行测试的,但是工作已经对这种测试的代码源具体设计很了解,所以这种测试方法如果你想知道就能很容易测试出来。有效用例一般是指软件输入的测试用例,是那些已知软件程序能够正确的输入用例。等价类如果软件程序能正确处理一个值,也就是该程序能正确的处理这个范围内除了边界意外的任何有效输入值。边界条件,通常意味着最大值和最小值或者所有涉及软件能够处理的最长的字符等等。
1.2软件测试的基本方法
不同的书籍中软件的分类,叫法和解释都是不同的。比如从测试人员角度看,可分为手动测试和自动测试。从理论定义来分,可分为黑箱测试,白箱测试和灰箱测试。从源代码的角度可分为单元测试和功能测试。主要讨论的软件测试基本方法是侧重于软件功能的黑箱测试方法:可接受性测试,功能测试,用户界面测试。边界条件测试,配置安装测试,国际化支持测试,强力测试以及本地语言测试等测试方法。
2.智能手机软件测试手段
随着静态验证技术和抽象解释技术应用于成熟的商业软件,已经可以独立嵌入硬件的情况下对工业规模的源代码和派生代码的动态特性进行抽象,而不是互相验证软件状态的有效分析。一般的静态规则检查工具只检查表面的编程规则,不能检查运行中出现的错误。并且禁用较小的计算机就可以检测出资源,同时也能检查出动态运行中出现的错误。
动态测试要实际运行被测试程序,取得程序运行的真实情况、动态情况进行分析。生成测试数据、分析测试结果工作量大,是开展测试工作的费人、费力、费时。动态测试涉及多方面工作,设备多、数据多、人员多,以此需要有好的管理制度。
静态测试时寻找代码而不是执行代码中可能存在的评估程序代码过程或者是错误,对程序中的数据流和控制流进行分析,并提出测试报告。以下是静态测试技术主要包括:代码检查、代码审查、代码走查、桌面检查、静态分析(主要由软件工具自动进行),前面四类通常情况下是由人工进行的,主要检查代码和设计的一致性,并充分发挥人的逻辑思维优势。
3.软件可靠性评估
当前,软件可靠性建模技术已经实用化,国内外许多软件开发过程中利用该技术作为可靠性评估和资源分配的手段,并取得了良好效果。
目前国内厂商在采集测试数据时,普遍实行缺陷个数统计,因此建模时宜选用故障计数模型。事实上,失效间隔时间模型的假设比较严格,收集失效间隔时间数据的费用更高。故障计数模型的基本假设如下:
(1)测试间隔是相互独立的;
(2)在每个间隔中的测试是合理均匀的;
( 3)在不相互重叠的间隔里检测到的缺陷数之间是相互独立的。
当模型基于日历时间并有足够的时间间隔(如:周)时,第一和第三假设是合理的。而均匀测试工作量的假设决定于PM对测试部门人力和资源的合理调配。在某些情况下,还必须对采集到的数据进行规格化处理。
此类模型建模的一般步骤是:
(1)以时间为单位统计缺陷率,时间单位可以是CUP小时,天、周、月等;
(2)以模型假设、现有数据、测试过程为依据,选择一个或几个模型对数据进行拟合.估计模型的参数,并代人模型;
(3)进行拟合检验,并估计模型的合理性。若不拟合,则根据模型假设和数据,选择另外更为合理的模型;
(4)基于拟合的模型作出可靠性预测.此时其他因素,如此前同类产品的实际性能,开发小组的主观评价等,将作为调节因子参与评估。
结语:
手机软件的开发是一项复杂的系统工程,既有一般嵌人式系统的规律,又有自身特色.手机的正式运行环境的开放性,是许多测试用例很难满足和重现的.合理的测试策略结合软件可靠性模型有助于优化和改进测试过程.模型从测试用例的输入域和测试点集入手,在充分考虑了软件复杂性和缺陷影响因子等因素前提下,结合数学方法构建了基于测试用例的可靠性模型。为了确保模型的可靠性,采用了EM算法对该模型进行了可靠性检验。而且该模型对潜在缺陷率的估计更是产品即将上市和上市之初的重要参考依据。
参考文献:
[1]叶振宇.智能手机软件开发中的质量控制策略[OL].计算机应用.2007.05.
[2]StephenH.Kan.软件质量工程的度量与模型[M].北京:机械工业出版社.2003.
【关键词】:智能手机;软件开发;质量控制策略
前言:
手机的特色主要集中在移动互联,个人信息管理,多媒体等领域.随着手机硬件性能的提高,这些领域的应用程序也日见复杂.由于手机软硬件的自身特点,如面向特定应用,实时性,低功耗、体积小、集成度高,内存不丰富,开发工具昂贵等等。软件开发过程中的质量控制策略与普通软件有很大不同。
1.软件测试的基本概念和方法
1.1基本概念
虽然软件产业产品和测试方法各式各样。但是目前仍有很多各样软件测试方法都基本可用的常用概念和方法。我们这里介绍的思路和方法就是可用于多数应用软件的测试。有六个有关软件测试方法的基本概念是很重要的:黑箱测试、白箱测试、灰箱测试、有效用例和无效用例、边界条件以及等价类测试。黑箱测试是通过整个软件或某种软件功能来严格的测试,而并没有通过检查程序的源代码很清楚的了解该软件代码程序的具体是怎样设计的。白箱测试这种类型的测试需要代码句法发现内部代码在算法、路径、条件等等中的错误和缺点,并且进行修改。灰箱测试就像黑箱测试一样是通过用户界面来进行测试的,但是工作已经对这种测试的代码源具体设计很了解,所以这种测试方法如果你想知道就能很容易测试出来。有效用例一般是指软件输入的测试用例,是那些已知软件程序能够正确的输入用例。等价类如果软件程序能正确处理一个值,也就是该程序能正确的处理这个范围内除了边界意外的任何有效输入值。边界条件,通常意味着最大值和最小值或者所有涉及软件能够处理的最长的字符等等。
1.2软件测试的基本方法
不同的书籍中软件的分类,叫法和解释都是不同的。比如从测试人员角度看,可分为手动测试和自动测试。从理论定义来分,可分为黑箱测试,白箱测试和灰箱测试。从源代码的角度可分为单元测试和功能测试。主要讨论的软件测试基本方法是侧重于软件功能的黑箱测试方法:可接受性测试,功能测试,用户界面测试。边界条件测试,配置安装测试,国际化支持测试,强力测试以及本地语言测试等测试方法。
2.智能手机软件测试手段
随着静态验证技术和抽象解释技术应用于成熟的商业软件,已经可以独立嵌入硬件的情况下对工业规模的源代码和派生代码的动态特性进行抽象,而不是互相验证软件状态的有效分析。一般的静态规则检查工具只检查表面的编程规则,不能检查运行中出现的错误。并且禁用较小的计算机就可以检测出资源,同时也能检查出动态运行中出现的错误。
动态测试要实际运行被测试程序,取得程序运行的真实情况、动态情况进行分析。生成测试数据、分析测试结果工作量大,是开展测试工作的费人、费力、费时。动态测试涉及多方面工作,设备多、数据多、人员多,以此需要有好的管理制度。
静态测试时寻找代码而不是执行代码中可能存在的评估程序代码过程或者是错误,对程序中的数据流和控制流进行分析,并提出测试报告。以下是静态测试技术主要包括:代码检查、代码审查、代码走查、桌面检查、静态分析(主要由软件工具自动进行),前面四类通常情况下是由人工进行的,主要检查代码和设计的一致性,并充分发挥人的逻辑思维优势。
3.软件可靠性评估
当前,软件可靠性建模技术已经实用化,国内外许多软件开发过程中利用该技术作为可靠性评估和资源分配的手段,并取得了良好效果。
目前国内厂商在采集测试数据时,普遍实行缺陷个数统计,因此建模时宜选用故障计数模型。事实上,失效间隔时间模型的假设比较严格,收集失效间隔时间数据的费用更高。故障计数模型的基本假设如下:
(1)测试间隔是相互独立的;
(2)在每个间隔中的测试是合理均匀的;
( 3)在不相互重叠的间隔里检测到的缺陷数之间是相互独立的。
当模型基于日历时间并有足够的时间间隔(如:周)时,第一和第三假设是合理的。而均匀测试工作量的假设决定于PM对测试部门人力和资源的合理调配。在某些情况下,还必须对采集到的数据进行规格化处理。
此类模型建模的一般步骤是:
(1)以时间为单位统计缺陷率,时间单位可以是CUP小时,天、周、月等;
(2)以模型假设、现有数据、测试过程为依据,选择一个或几个模型对数据进行拟合.估计模型的参数,并代人模型;
(3)进行拟合检验,并估计模型的合理性。若不拟合,则根据模型假设和数据,选择另外更为合理的模型;
(4)基于拟合的模型作出可靠性预测.此时其他因素,如此前同类产品的实际性能,开发小组的主观评价等,将作为调节因子参与评估。
结语:
手机软件的开发是一项复杂的系统工程,既有一般嵌人式系统的规律,又有自身特色.手机的正式运行环境的开放性,是许多测试用例很难满足和重现的.合理的测试策略结合软件可靠性模型有助于优化和改进测试过程.模型从测试用例的输入域和测试点集入手,在充分考虑了软件复杂性和缺陷影响因子等因素前提下,结合数学方法构建了基于测试用例的可靠性模型。为了确保模型的可靠性,采用了EM算法对该模型进行了可靠性检验。而且该模型对潜在缺陷率的估计更是产品即将上市和上市之初的重要参考依据。
参考文献:
[1]叶振宇.智能手机软件开发中的质量控制策略[OL].计算机应用.2007.05.
[2]StephenH.Kan.软件质量工程的度量与模型[M].北京:机械工业出版社.2003.