|
|
摘要:软件须把握两个点: 错误可控, 复杂度可控错误人总会犯错的,软件总有bug的。客户最不满意的时刻:-软件频繁/反复出现问题(bug或者性能问题)-找原因的时间很长, 客户只能绝望等待-无法修复或者修复代价很大客户满意的时刻:-很少出现问题- 即使出现,造成的后果也不大-出现的问题能够被迅速修复复杂度...
阅读全文
摘要:架构师三板斧内容如下:看清需求:Tradeoff:无法满足所有需求、无须同等对待所有需求、发现根本需求、抽象、降维, primitive+组合了解需求随时间的变化、选择方法、把握节奏。选择方法:测算 -> 模拟 -> 实现、分解 vs 迭代、设计模式。把握节奏:目标与可达路径、定期产出。
阅读全文
摘要:技术问题,总是在短期被高估,在长期被低估.技术出现了问题,从来都不单纯是技术导致的问题.
阅读全文
摘要:业务技术:前端业务用户注册/激活/登录/注销找回密码用户选项验证码/短信验证最近历史, 最近浏览过 ...商务推荐购物车支付交互留言, 评论打分论坛导航MasterPageTabMenuTree (with checkbox)站内搜索文本文本自动补全富文本编辑 (安全性)Form/实体编辑器(创建,...
阅读全文
摘要:前台UI和后台数据库之间传递参数, 用强类型好呢? 还是用弱类型好呢?强类型的好处:参数名称, 类型在代码中定义的很清楚, 前台和后台有一个成文的协议有IDE的帮助, 参数名字自动补全强类型的坏处:修改不方便, 至少要修改参数定义文件, 前台文件, 后台文件弱类型的好处和坏处和强类型正好相反,前台和后台之间的协议只是口头上的.不过, 可用单元测试来保证前台和后台遵守相同的参数协议
阅读全文
摘要:需求文档读者: 所有. 包括:系统使用者, 测试者, 设计者, 开发者越明确越好设计文档读者: 设计者, 开发者设计文档的目的是让开发者对系统架构有一个大概的了解,并提供对难懂部分的解释. 具体设计还需开发者研究代码.设计文档不能太详细, 否则代码和文档很难同步文档只需包括设计思想, 原则等不经常变的内容一些很难用语言描述的图表重要和非常规的设计一些设计中的假设, 决定取舍, 优劣对比等
阅读全文
摘要:特别注意:文档读者是谁?文档是需要维护的: 记录较少变动的东西角度时间: 时序图, 流程图, 泳道图, 事件, 创建销毁顺序空间: 内存分布, 对象分布, 数据分布, 职责分布文档模版Introduction and Scope (关于文档自身, 比如: 文档的读者, 其他相关文档) IntroductionScopeRelated DocumentsAcronyms & TerminologiesOverview (项目的概况) Definitions and ConceptsConstraintsDependenciesFunctions/Modules/Layers (项目的功能/模块/
阅读全文
摘要:参考: http://www.cnitblog.com/zouzheng/archive/2010/06/09/61614.htmlgtest下载: http://googletest.googlecode.com/files/gtest-1.3.0.zip已编译: /Files/mrfangzheng/gtest-include-lib.zip下载解压打开msvc gtest.sln编译,我们需要 gtest-1.3.0\msvc\Debug\gtestd.libgtest-1.3.0\include新建Win32 Console Application, 修改项目属性C/C++ Gen
阅读全文
摘要:代码好坏的标准:1. Automated Test 是否容易自动化测试, 把不易的分离出来. GUI界面必须能用SendMessage来模拟用户动作2. Data Driven 是否以数据为核心设计类,类的所有函数都必须与核心数据相关, 把不属于自己管理的数据分离出来3. Dependency 依赖是否明确, 把所有的依赖都以属性方式公开4. Logging 是否有足够的Log方便追踪其他: 命名...
阅读全文
摘要:确保界面用SendMessage就可以自动化测试, 不需要特别的键盘鼠标API mouse_event, keybrd_event这些函数在计算机Locked之后无法工作
阅读全文
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--publicvoidDoMouseClick(){//Calltheimportedfunctionwiththecursor'scurrentpositionintX=Cursor.Position...
阅读全文
摘要:每周找个固定时间, 检查文档和代码是否一致
阅读全文
摘要:编程其实是一项防御性质的工作, 因为写出错误代码的可能性远大于写出正确的代码- 做好Debug logging, 因为1)客户机没有debugger 2)bug总是出现在意想不到的地方- 做好自动化测试, 因为1)新代码出错的可能性远大于正确的可能性 2)测试操作会执行成百上千遍
阅读全文
摘要:测试:两人测试一人读测试用例, 一人执行测试
阅读全文
摘要:首先要保证正确, 其次才考虑效率. 而且在提高效率的同时, 要保证正确.保证正确是一个从始到终的任务.
阅读全文
摘要:在Unit Tests中有时需要读取测试运行者相关的变量, 比如: 不同的测试机器的目录结构不同, 测试机A的某个测试目录为C:\ABC, 而在测试机B上对应的目录为 D:\XYZ\ABC, 如果把这些信息硬编码在测试中就会影响测试的可移植性.解决方案:1.把这些信息存放在TestProject的app.config, 比如:<appSettings file="user.config"&g...
阅读全文
摘要:输入 输出 ==> 被测试对象 ==> 依赖 异常测试的步骤: 先使用最小的数据量, 然后一般的数据量, 最后海量的数据.先用最小的数据量, 测试驱动开发, 实现基本功能, 并创建好基本的功能测试然后用正常应用中的数据量, 测试所有功能最后用海量的的数据, 测试性能和极限注意: 前一个步骤的数据都是后一个步骤数据的子集, 这样就不用修改太多的测试代码被测试对象使用哪些数据是必须由测试代...
阅读全文
摘要:在另一线程中执行Find等操作代码 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --IntPtrhandle=frm.Handle;Actionact=()=>{UIAutomationMappingmapping=newUIAutomati...
阅读全文
摘要:软件开发固有的问题:错误, 变化 变化包括: 修改bug, 添加新功能变化会引入错误需求的变化可能会要求已有代码的大量修改(架构设计不当)目标: 成本,质量过程: 可跟踪, 目标迭代, 不断修正手段: 文档化沟通, 自动化测试 怎样提高效率? 把口头说n遍的写成文档把手动的操作n遍的写成测试程序
阅读全文
摘要:技术人才普遍都会编程语言, 熟悉操作系统, 熟悉数据库系统等. 但各有偏重.科学:偏重算法研究,计算机理论. 难点:高深的数学和其他理论知识. 比如:加密解密, 高性能计算, 海量数据存储和搜索等. 属于理论层次.业务:偏重业务流程和建模. 难点:深厚的行业背景. 比如:金融模型, 商业流程等. 属于应用层次.工程:偏重过程管理, 关注质量和成本. 比如:沟通协作, 需求分析, 架构设计, 质量控...
阅读全文
|