本周阅读了《构建之法》的第12到第14章,主要内容分别是用户体验、软件测试和质量保障。
有的人认为用户界面设计是充满创意和非常潇洒的工作,有的人认为用户界面这项工作就是打打补丁,让界面好看些。在我看来,计算机用户界面和用户体验是一个有着丰富内容的学术领域。在创立一个用户界面时,我们要考虑多方面的因素:谁是我们的目标用户?他们是什么样的人?他们的使用方式是什么样的?用户是从哪里进入到这个软件网站?他们知道这个产品是做什么的嘛?用户想达到什么目的?怎样让他们尽快找到相应的功能入口,完成任务?我们的软件可能比较难用,怎样才能让用户尽快掌握基本技能?用户和软件的第一次使用,很大程度上决定了用户对软件的评价。怎样让用户在第一次使用的时候,少花时间在对用户没有价值的部分,而把大部分时间花在有实际价值的功能上?
想要做好一个产品就要从用户的角度去考虑问题,试着理解别人的处境、心理、动机。软件服务始终要记住用户的选择,比如一个老外用的国外的手机,而这个软件虽能支持英文,但是在发验证码的时候却只能显示乱码,给使用者添加了不少麻烦。
软件测试设计的方法有两类:黑箱和白箱。黑箱白箱测试需要进行代码分析,从代码逻辑来分析来代码是否正确,确切的来说就是程序员干的。而黑箱测试是不需要了解程序编码,对模块进行的功能测试,只要验证结果是否符合客户的需求就行了。所以通常黑箱测试员都是一些企业客户了。从这里也可以看出来白箱测试通过并不意味着黑箱测试也能通过,打个简单的比方。在一般情况下,我们的逻辑是先用黑箱测试来测试模块,看看结果是否符合客户的需求,比如一个工资模块,简单点,应发工资=基本工资+加班工资-工会费,输入的数据是后面3项,输出结果是应发工资,我们设计一个测试用例,用黑箱测试,这就有2种可能,一种是测试用例通过,一种是不通过,通过的话满足客户需求,不通过那就是程序代码有问题了。也许是开发人员粗心大意,在程序种计算应发工资的公式搞错了,比如变成:应发工资=岗位工资+加班工资+工会费,那么我们接着应该做白箱测试,查看程序中哪里出错了。总的来说设计软件的时候,应该是先考虑客户需要,也就是白箱内容。然后再分解成一块块的来进行设计。
测试方法分为单元测试、代码覆盖率测试、构建验证测试、验收测试、“探索式”的测试、回归测试、场景/集成/系统测试、伙伴测试效能测试、内部/外部公开测试、易用性测试等。这些测试保证了程序的完整运行。