当前问题的产生主要分为迭代内(功能点问题占多数)和迭代外(UI方面问题占绝大多数):
迭代内:
1.在需求串讲过后,开发在开发中突然有需求变更需要,而进行了临时的紧急修改,导致与测试的测试用例不一致,从而导致提单。
后期建议:在开发过程中,有突发性业务需求错误或变更的情况发生的话,一定要只会测试并确认测试用例的修改。
2.开发人员在开发中遗漏需求点,导致测试按测试用例执行时,与所开发功能不一致,从而测试提单。
后期建议:这点需要开发本人在开发中多自验,按照测试的用例去执行,发现不一致,及时更改。
3.对细节或者说使用场景考虑不周全(如:session失效用户可以继续操作而带来异常、内容归档后,用户依旧可以操作该文档的不合理现象、用户脚本注入、权限切换、中英文环境显示等);
后期建议:对于常见的使用场景、常见的UI问题、脚本注入问题、中英文国际化以及需要考虑权限的地方落实。
在开发前要加强"样式兼容"\"脚本注入"\"使用场景"处理意识。
4. 迭代过程中,不同组开发沟通较少,导致对于相似功能没有规划抽取公共的方法,导致代码冗余,开发效率低下;(例如: 获取当前用户User、获取html区内容、不同的导入模块等)
后期建议:由熟悉功能模块的人提炼公共方法, 大家共同优化, 提炼人负责维护。
迭代SDV:
1.后期的TVT测试与UI测试,这两个阶段是问题单的高发期,TVT是无法避免的,需改进的主要是UI方面。UI是按照前期高保真的页面来做,而高保真因为时间或其它种种原因,导致其兼容性是几乎没有,
而开发在后期开发中,往往也是紧赶时间,对于UI也是没太上心。
后期建议:以后不管高保真是否对兼容性等UI规范做到。开发都要尽量的在开发过程中将相关方面进行处理,在时间允许下严格按照UI规范开发,使后期UI的问题单的产生最大
程度的降低。
2.人为的修改引入问题单,这点是迭代内外都会存在的问题,但在迭代后的出现机率比较大,这时各组的功能已经集成,修改时难免会动到其它模块,难免会修改别人的文件。
后期建议:(1)修改前想清楚修改方案,不要抱着边改边构思的心态,这样很容易就出现自己功能改好,别的模块功能又出现BUG的情况。
(2)再者,修改后,多验证,与其相关的都要验证,确保不要引入问题,做到问题单修改一步到位。这样也能减少回归不通过率。
针对问题类型分布特点我们需要特别加强有两方面的技能:
其一是:前台的展现方面的技能(平时多注意下面提到的内容)。
1. CSS 样式兼容性;
2. 页面布局优化(推荐的布局采用DIV+CSS);
3. 页面性能优化;
4. JS异常处理;
其二是:有效及时的沟通能力
提升自身技能, 写出bug少,兼容性强,可扩展性高的代码 把问题扼杀在摇篮。走在成为优秀的IT人士路上......
期待大家在下一个版本有所改善和提升
鲁:根据一个层次的分析,当前问题产生的主要有两类:
1. User Interface 问题,涉及到:
(1) 样式问题(缺少样式发面相关技能主要的是兼容性和样式的特性),少数是没有按照高保真做。
(2) 国际化问题(在先前的开发过程中没有考虑使用国际化,没有查看英文开发环境展现导致; 同时国际化没有及时提供)。 亦缺少测试方沟通。
(3) 页面的性能(没有考虑DOM执行效率)。
当前对DOM执行效率理解是什么, 后续碰到类型的问题,怎么避免;
(4) JS某些方面欠缺(脚本注入<框架处理和JS脚本处理>,异步刷新的理解,) 脚本注入的,框架处理的原理是什么?
2. DSDP交付质量入口标准没有达到要求(多次集成dsdp出现功能障碍)-------->改进集成预验收步骤------>增加单元测试和验收测试
根据上面的内容是否可以准备相关的培训,主题可以是:
(1) 页面样式, JS 脚本注入等。
(2) 页面性能的优化。
(3) 健壮合理的单元测试
张:根据其提供的分析,存在如下问题:
1.代码自检不足,应开发时间较短,功能设计上会有缺陷,直到全面测试后通过问题单修改。
2.代码质量问题,重复代码没有复用,逻辑复杂的部分没有注释,致使后期修改难度增大。
2.自测覆盖不全面,页面要求不严格,页面样式,浏览器兼容性问题较多
3.junit执行不严格,容错性不高
4.部分需求细节不明确,程序员自己理解和se或测试有差异,导致后期频繁改动
5.修改不全面,或没有全面测试,导致引入新问题
常:提到开发质量和开发习惯(涉及到如何提高代码质量)
1. 在迭代开发过程中遗漏了需求点的开发;
2. 对细节或者说使用场景考虑不周全(session失效用户可以继续操作而带来异常、内容归档后,用户依旧可以操作该文档的不合理现象、用户脚本注入等);------>注意到这一点大约可以减少20DI。
分享到:
相关推荐
迭代器失效小结
在数值分析领域,雅可比迭代(Jacobi Iteration)和高斯-塞德尔迭代(Gauss-Seidel Iteration)是两种广泛用于求解大型线性方程组的方法。这两种迭代法都基于矩阵分解和迭代更新的思想,适用于处理稀疏矩阵问题,...
《小团队构建大网站:中小研发团队架构实践》是一本专为中小型开发团队设计的指导书籍,旨在帮助这些团队在有限的资源下高效地构建和维护大规模的网站。书中涵盖了从项目规划、技术选型、架构设计到团队协作等多个...
- 检查收敛性:当解的变化足够小或者达到预设迭代次数时,停止迭代。 2. Gauss-Seidel迭代法: Gauss-Seidel迭代法是Jacobi法的改进版,它在同一迭代步中更新所有未知数,从而加快了收敛速度。其迭代公式如下: ...
5. **经验和教训**:这一部分总结了团队在迭代过程中的学习和经验,可能是关于技术应用的新见解,也可能是关于团队协作、项目管理的改进点。这些教训对于未来的迭代和项目都有重要的参考价值。 通过迭代评估报告,...
本主题涉及三种迭代方法:雅克比迭代、高斯迭代以及松弛法(SOR)迭代,并提供了相应的Matlab程序实现。这些方法广泛应用于科学计算、工程问题和数据分析中。 首先,雅克比迭代(Jacobi Iteration)是一种基于矩阵...
**Jacobi 迭代法**是一种在数值分析中用于求解大型线性方程组的迭代方法,由德国数学家卡尔·威廉·雅各比(Carl Wilhelm Jacobi)提出。这种方法特别适用于处理对角占优的矩阵,即矩阵中对角线元素的绝对值大于其...
这里,我们通过一个小例子来深入理解Java中的迭代和迭代器。 首先,我们需要了解什么是迭代。迭代是重复执行一个过程,直到达到特定条件为止。在Java中,迭代常用于遍历集合中的所有元素,例如ArrayList、...
SOR 迭代法迭代矩阵谱半径与迭代参数的关系 SOR 迭代法是一种常用的线性代数iteration方法,用于求解线性方程组 Ax=b。其中,SOR 迭代法的收敛性取决于迭代矩阵的谱半径ρ(B)和松弛因子ω的关系。在这篇文章中,...
《ACM:重塑企业IT服务快速迭代的力量》 在当前数字化转型的时代,企业的IT服务迭代速度已成为竞争优势的关键因素。ACM,即Application Configuration Management,作为阿里云推出的企业级配置中心产品,旨在帮助...
### 2.3 小结 Newton迭代法是一种基于泰勒展开式的迭代算法,用于寻找非线性方程的解。该算法的主要思想是使用泰勒展开式来近似非线性函数,然后使用迭代的方法来逼近函数的零点。 第三章 Newton 迭代法的收敛性 ...
迭代学习控制(Iterative Learning Control, ILC)是一种在重复任务中通过不断学习和改进来提升系统性能的控制策略。在Simulink中实现ILC仿真,可以帮助我们理解和优化那些在时间序列上具有周期性或者重复性的过程。...
在IT行业中,迭代是一种常见的开发方法,特别是在软件工程和项目管理中。迭代总结是对一个或多个迭代周期(通常称为Sprint)的回顾和分析,旨在评估团队的表现、产品的进展以及改进的机会。以下是对"迭代总结.docx...
在IT领域,流形学习、迭代学习和迭代小波是重要的数据分析和信号处理技术,尤其在处理复杂数据和高维信息时展现出强大的能力。这里,我们深入探讨这些概念及其应用。 首先,流形学习(Manifold Learning)是一种无...
合适的松弛因子可以使迭代更快地收敛,但过大或过小都可能导致不收敛。 在实际应用中,这些迭代法的收敛性依赖于系数矩阵的性质,如矩阵是否对角占优,以及它们的条件数。矩阵对角占优意味着迭代法更容易收敛,而...
阿里云产品专家 杨奕、阿里云研发专家 李艳林在2018云栖大会·南京峰会中做了题为《ACM 助力 企业IT服务快速迭代》的分享,就ACM 历史、ACM 产品基本形态和针对问题场景、ACM产品优势等方面的内容做了深入的分析。
高斯赛德尔迭代算法的优点是程序简单、存储量小,可以处理大型稀疏矩阵的问题。但是,该算法的缺点是收敛速度慢,需要多次迭代才能达到指定的精度。因此,在实际应用中,需要根据具体情况选择合适的迭代算法。
这个过程会持续到解的改变量足够小或者达到预设的最大迭代次数。 2. SOR迭代法: SOR迭代法是对Gauss迭代法的一种改进,引入了松弛因子ω来加速收敛。当0<ω时,SOR方法通常比Gauss方法更快收敛。SOR的迭代公式为:...
- 使用`++it`或`it++`操作符可以将迭代器向前移动到下一个元素。 3. **访问元素**: - 使用解引用操作符`*`可以获取迭代器所指向的元素值,如`int value = *it;` - 通过成员访问运算符`.`或箭头运算符`->`可以...