计算机软件的分类
- 按层次划分
- 系统软件
- 支持软件
- 应用软件
- 按结构划分
- 单机软件
- 分布式软件
- C/S
- B/S
- 按组织划分
- 开源软件
- 毕源软件(商业软件)
软件缺陷
软件缺陷也就是人们常说的bug
- 软件缺陷的定义
- 软件未实现产品说明书要求实现的功能
- 软件出现了产品说明书不应该出现的功能
- 软件实现了产品说明书未提到的功能
- 软件未实现产品说明书虽未明确但是应该实现的功能
- 软件难以理解,不易使用,运行缓慢或者(从用户的角度来看不好的功能)
总之一句话:所有不满足需求或者超出需求的都是缺陷【没有不存在缺陷的软件,只有迄今为止尚未发现的缺陷】
'''举个例子:完成一个登陆功能
登陆要求输入用户名与密码,点击登录按钮才能够登陆,
1. 若只输入用户名则直接可以登陆,则这个产品就是有缺陷的,【它没有实现我们指定的功能】
2. 若它不但要求输入用户名,密码还要求输入邮箱,这个产品也是有缺陷的【它出现了产品说明书上不应该出现的功能】
3. 若输入用户名和密码,成功后出现了彩蛋,这个产品也是存在缺陷的【它出现了产品说明书未提及的功能】
4. 若输入用户名和密码,用户名或者密码错误,没有提示,这个产品也是存在缺陷的【虽然这个在需求说明书中,未提及,但是在开发的过程中,我们仍然要给予提示】
5. 若这些都没问题,但是登录按钮的位置或者大小不合适,在页面中很难点击,这个也是缺陷【不符合易用性】
'''
软件测试的目的
软件测试的目的就是尽可能早的找出软件产品中潜藏的缺陷,并确保其得以修复
- 软件测试贯穿于整个软件的生命周期
- 单元测试
- 集成测试
- 确认测试
- 系统测试
- 验收测试