怎么知道一个软件的历史记录存在哪里?

怎么知道一个软件的历史记录存在哪里?本人是软件测试工程师,面试的时候面试官问过我一个问题,就是历史记录存在哪里?怎么定位是存在这里?用什么方式?

一般来说只有两种,一种是存放于配置文件,一种是存在于注册表,配置文件的位置不确定,有可能是在软件安装目录下某个文件,或者在系统盘某个目录下。可以打开软件后,只做一个影响历史记录的操作,关掉软件,然后搜索那个软件安装目录下全部文件,找到修改时间最新的那个,看起来象文本文件的话就用记事本之类的打开看看有没有相关的记录,如果是在系统盘或者注册表中,定位的话个人一般是用Process Monitor(它相当于以前的filemon和regmon),可以同时监测注册表和文件的操作,同样的,做一个影响历史记录的操作,然后在Process Monitor中查看注册表和文件写入的变化情况。
当然,如果不是比较冷门的专用软件,可以在此之前先用百度或谷歌搜索一下网上的相关资料看看。
当然还有一种情况,如果是带有数据库的软件(不论是mssql之类的网络数据库或者access/sqlite这样的桌面数据库),历史记录也是有可能存在于数据库里的,桌面数据库就按照前面的配置文件一样的来处理,如果发现影响的确实是数据库,那就用相应的管理软件打开数据库来查看。追问

首先感谢这么精细的回答,你说的是pc端的,那请问移动端的又如何判断?在比如不同特点的软件一般会采用哪种方式?如高德地图的历史记录,今日头条的记录,当然安卓设备可以用你说的方法查看手机文件夹,可iphone是闭源的。

追答

移动端的数据存储也是有几种固定的方式,我对这方面了解不多,做为软件测试来说我估计也不需要你了解详细的情况,只需要与开发人员沟通了解情况就行了,你自己可以搜索下诸如iOS常用的存储方式介绍 这种东西,安卓基本类似,IOS设备如果需要访问文件需要手机越狱。

追问

额,还有一种情况可能是存在缓存服务器的,判断情况先关闭网络查看是否还有历史情况,你回答的专业性还差一点啊,我估计你是开发吧,初级测试的确不需要知道,高级测试需要代码审查的。

追答

当然移动端也会涉及到是存放于本地还是网络上的问题,这个可以通过先在APP上登录进行操作,然后彻底卸载软件,然后重新安装软件,用之前的用户名登录进去,如果历史记录还在,说明信息存储在网络服务器上。如果信息被清除了,那就是在本地了。
当然如果APP在关闭网络的情况下也可以使用,那当然也是可以通过关闭网络来判断信息的存储位置,但这里面有个问题,不排除软件会做网络和本地的双备份或其它的策略,比如说购物车信息,在用户未登录时,购物车是存放于本地的,等用户登录户,本地的购物车就同步添加到网络服务器上,同时本地的被删除。

追问

你回答的很好,70分送你,你最后回答的才是完美答案啊。

诺诺的问一句你是开发吗?

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答