敏捷开发的原则:
1.尽早并持续地交付有价值的软件以满足客户需求
2.敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势。
3.经常发布可用的软件,发布间隔可以从几周到几个月,能短则短
4.业务人员和开发人员在项目开发过程中应该每天共同工作
5.以进取心的人为项目核心,充分支持信任他们
6.无论团队内外,面对面的交流始终是最有效的沟通方式
7.可用的软件是衡量项目进展的主要指标
8.敏捷流程应保持可持续的发展。领导,团队和用户应该能按照目前的步调持续合作下去
9.只有不断关注技术和设计,才能越来越敏捷
10.保持简明----尽可能简化工作量的技艺----极为重要、
11.只有能自我管理的团队才能创造优秀的架构,需求和设计
12.时时总结如何提高团队效率,并付诸行动
功能测试:
Unit Test:单元测试----在最基本的功能 / 参数上验证程序的正确性;
Functional Test:功能测试----验证模块的功能;
Integration Test:集成测试----验证几个互相有依赖关系的模块的功能;
Scenario Test:场景测试----验证几个模块能否完成一个用户场景;
System Test:系统测试----对于整个系统功能的测试;
Alpha / Beta Test:外部软件测试人员(Alpha / Beta测试员)在实际用户环境中对软件进行全面的测试;
非功能测试【Non-functional Requirement】(服务质量需求【Quality of Service Requirement】):
Stress / Load Test:眼力测试----测试软件在负载情况下能否正常工作;
Performance Test:效能测试----测试软件的效能;
Accessibility Test:可访问性测试----测试软件是否向残疾用户提供了足够的辅助功能;
Lcalization / Globalization Test:本地化 / 全球化测试;
Compatibility Test:兼容性测试;
Configuration Test:配置测试----测试软件在各种配置下能否正常工作;
Usability Test:易用性测试----测试软件是否好用;
Security Test:软件安全性测试;
按测试的时机和作用分类:
测试“烽火台”、不同的测试方法;
各种测试方法:
1.单元测试和代码覆盖率测试;
2.构建验证测试【Build Verification Test, BVT】:基本功能能否使用;
3.验收测试【Acceptance Test】;
4.“探索式”的测试【Ad hoc Test】;
5.回归测试【Regression Test】:验证修复的Bug有没有再次出现;
6.场景 / 集成 / 系统测试:各模块连接是否正常;
7.伙伴测试【Buddy Test】;
8.效能测试【Performance Test】:软件在设计负载内能否提供令用户满意的服务质量;
涉及两个概念:1.设计负载;2.令用户满意的服务质量;
现实的环境两方面:1.现实的静态数据;2.现实的动态数据;
9.压力测试:增加负载的两个方面----1.沿着用户轴延长;2.沿着时间轴延长
10.内部 / 外部公开测试;
11.易用性测试;
12.“小强”大扫荡【Bug Bash】;