广州金鹏笔试题和面试题答案
一、数据流图是需求分析阶段的成果
二、设计一个包含用户、角色、权限和用户组数据库表结构,并画出它们之间的关系图
1 一个用户只属于一个用户组
2 一个角色包含多个权限,
3 一个用户自身(非继承)可以有多个角色,也可以有多个权限
4 一个用户组可以有多个角色,也可以有多个权限
5 一个权限也可以属于多个角色。
6 一个用户的角色和权限来自两部分,一部分继承于所有父用户组的角色和权限,另一部分来自特别为其分配的角色和权限
7 一个用户组可以排除(exclude)一个角色,而一旦在其子用户组或者在某个用户身上加入(include)这个角色,那这个用户或者用户组将重拾这个角色
8 一个用户或用户组可以拒绝(disallow)一个权限,一旦拒绝以后,不管在什么地方再允许(allow)这个权限都于事无补
9 管理员可以做任何事情,不受任何约束
三、unix,输入/输出设备看作普通文件
四、依赖
关联
泛化
聚集
共享聚集:部分可以参加多个整体,菱形为空
组合聚集:整体不存在,那么部分也不存在,菱形为黑色实体
五、测试
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
逻辑覆盖:
1、语句覆盖:设计若干个测试用例,运行被测程序,使得每一条可执行语句至少执行一次
2、判定覆盖:设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少执行经历一次
3、条件覆盖:设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次
4、判定-条件覆盖:设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次
5、条件组合覆盖:设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次
6、路径覆盖:设计足够多的测试用例,覆盖程序中所有可能的路径
六、线程几种状态的转换