array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 软件测试生命周期 - 爱码网

       软件测试生命周期包括6个阶段(大体上):1)计划 2)分析,3)设计,4)构建,5)测试周期,6)最后测试和实施,和7)实施后。
1. 计划(产品定义阶段)
 高层次的测试计划(包含多重测试周期)
 质量保证计划(质量目标,测试标准等 )
 确定计划评审的时间
 报告问题过程
 确定问题的分类
 确定验收标准-给质量保证员和用户。
 建立应用程序测试数据库
 确定衡量标准,例如缺陷数量/严重程度和缺陷起源(仅举几个例子) 。
 确定项目质量度量
 开始制定项目整体测试时间表(时间,资源等)
 必需阶段:评审产品定义文档
 文档中加入质量保证标准,作为工程改善进程的一部分
 根据该产品的特点帮助确定问题的范围
 大约每月要花5 -1 0小时在这一方面
 计划在数据库管理所有测试用例,包括手工方面或者自动化方面。

2. 分析(外部文档阶段)
 根据业务需求开发功能验证矩阵。
 制定测试用例格式-估计时间和分配优先级。
 制定测试周期矩阵与时间线
 根据功能验证矩阵开始编写测试用例
 根据业务需求计划测试用例基准数据
 确定用于自动化测试的测试用例。
 自动化团队开始在测试工具中创建变量文件和高层次的测试脚本。
 为自动化系统中的跟踪组件设置路径和自动化引导。
 界定压力和性能测试的范畴。
 按照每个测试用例的数据要求开始建立基准数据库。
 定义维护基准数据库的过程,即备份,恢复,验证。
 开始规划项目所需的测试周期数,和回归测试次数。
 开始文档复查,如:功能设计文档,业务需求文档,产品规格说明书,产品外部文档等。
 审查测试环境和实验室,前端与后端系统都要。
 准备使用McCabe工具,以支持白盒测试中代码的研发和复杂性分析
 建立反馈机制并开始录入文档。
 必需阶段:审查外部文件
 文档中加入质量保证标准,作为工程改善进程的一部分。
 根据群体执行反馈编写测试用例
 开始研制测试用例估计数目,每个用例的执行时间,和用例是否自动化这些方面的度量
 为每个测试用例确定基准数据,
 大约每月要花25小时在这一方面

3. 设计(文档架构阶段)
 根据变更修改测试计划
 修改测试周期矩阵和时间线
 核实测试计划和用例用到的数据都输入到数据库,或是否必需的。
 修改功能验证矩阵
 继续编写测试用例,根据变化添加新的用例
 制定风险评估标准
 规范自动化测试和多用户测试的细节。
 挑选出一套用于自动化测试的测试用例,并且把这些用例脚本化
 规范压力测试和性能测试的细节。
 最终确定的测试周期。 (根据用例的估计时间和优先权确定每个周期所用的测试用例数)
 最终确定的测试计划
 估计单元测试所需资源
 必需阶段:审查架构文件
 文档中加入质量保证标准,作为工程改善进程的一部分。
 确定要进行编码的的实际组件或模块
 在这定义单元测试标准,通过/失败准则等。
 单元测试报告,报告进行单元测试后的模块质量如何,白盒测试和黑盒测试都要包括输入/输出数据和所有决定点。
 列出所有要进行单元测试的模块

4. 构建(单元测试阶段)
 完成所有计划
 完成测试周期矩阵和时间线
 完成所有测试用例。 (手动)
 完成第一套自动化测试用例的测试脚本。
 完成压力和性能测试的计划
 开始压力和性能测试
 McCabe工具支持-提供度量
 测试自动化测试系统,并修复错误。
 发展单元测试
 运行质量保证验收测试套件,以确保软件已经可以交给QA测试。

5. 测试周期/ 错误修正( 重复/系统测试阶段)
 测试周期1,执行第一套的测试用例(前端和后端)
 报告错误
 错误审核-不断开展的活动。
 根据需求修改测试用例
 根据需求增加测试用例
 测试周期二
 测试周期三

6. 最后的测试和实施(代码冻结阶段) 
 执行所有前端测试用例-人工和自动化。
 执行所有后端测试案例-人工和自动化。
 执行所有压力和性能测试。
 提供对正在进行的缺陷跟踪度量。
 提供对正在进行的复杂性和设计的度量。
 更新测试用例和测试计划的估计时间。
 文件测试周期,回归测试,并更新相应文档。

7. 实施后
 开展实施后评估会议以回顾整项工程。 (经验所得)
 准备最终的缺陷报告和相关度量。
 制定战略以防止类似的问题在今后的项目中重复出现。
 创建如何改进流程的计划目标和里程碑,
 McCabe工具-制作最后的报道和分析。
 自动化测试组-1 )审查测试用例以评估其他可用于自动化回归测试的用例2 )清理自动化测试用例和变量,和3 )审查自动化测试和手工测试结果的整合过程
 测试实验室和测试环境-清理测试环境,标记和存档用过测试用例和数据,恢复测试仪器到原始状态等。

相关文章: