记录阿里巴巴QA架构组成长点滴。2008年关键词为效率,技术,影响力!QA/测试架构师定义:开发和设计测试框架测试库;纵横全局的考虑产品的功能,设计复杂的测试系统;负责研发某一项特定的测试技术;为公司考虑如何提高测试效率。领导公司测试技术的发展和测试策略上的方向,关注整个公司的测试部门的问题,前瞻性的考虑未来的版本的测试策略和技术。测试架构师计划/设计测试平台,关注着产品的测试过程,提供咨询服务,影响到公司内的测试机构测试社区,以及开发机构等,对产品各个方面施加深远而正确的影响,最终提高整体软件质量。

前端web分析工具pagetest核心技术

上一篇 / 下一篇  2008-06-02 00:27:20 / 个人分类:开源工具与新技术研究

pagetest分析web 页面解析时间。PageTest为AOL 开放源码的,
可从http://pagetest.wiki.sourceforge.net/下载。

作用同ibm pagedetailer ,yahoo yslow。

pagetest用visual .net工程。

核心技术
1 Winsock2 SPI
参考
http://www.microsoft.com/msj/0599/LayeredService/LayeredService.aspx
http://www.vckbase.com/document/viewdoc/?id=643
或者windows 网络编程第14章winsock2服务提供者接口
如加载 SPI
wspStartup = new CAPIHook("mswsock.dll", "WSPStartup", (PROC)::WSPStartup_Hook, TRUE);  
   nspStartup = new CAPIHook("mswsock.dll", "NSPStartup", (PROC)::NSPStartup_Hook, TRUE); 

主要函数如:
NSPLookupServiceBegin;NSPLookupServiceNext;NSPLookupServiceEnd
WSPSocket,WSPBind

2 WinInet

internetOpen

3  IE插件技术

class ATL_NO_VTABLE CIEHook :
 public IObjectWithSiteImpl<CIEHook>,
 public IOleCommandTarget,
 public IDispEventImpl<1, CIEHook, &DIID_DWebBrowserEvents2, &LIBID_SHDocVw, 1, 1>,
    public IIEHook

STDMETHOD_(void,OnBeforeNavigate2)( IDispatch *pDisp, VARIANT * url, VARIANT * Flags, VARIANT * TargetFrameName, VARIANT * PostData, VARIANT * Headers, VARIANT_BOOL * Cancel );
 STDMETHOD_(void,OnDocumentComplete)( IDispatch *pDisp, VARIANT * url );
 STDMETHOD_(void,OnDownloadBegin)( VOID );
 STDMETHOD_(void,OnDownloadComplete)( VOID );
 STDMETHOD_(void,OnNavigateComplete)( IDispatch *pDisp, VARIANT * url );
 STDMETHOD_(void,OnNavigateError)( IDispatch *pDisp, VARIANT *url, VARIANT *TargetFrameName, VARIANT *StatusCode, VARIANT_BOOL *Cancel);
 STDMETHOD_(void,OnNewWindow)( IDispatch ** pDisp, VARIANT_BOOL *cancel );
 STDMETHOD_(void,OnQuit)( VOID );

 // IOleObjectWithSite Methods
 STDMETHOD(SetSite)(IUnknown *pUnkSite);


然后在IE浏览器初始化时做
void CIEHook::InstallHooks(void)
{
 // load ourselves to make sure we stay loaded until the browser goes away
 // otherwise some of the API hooks will crash
 LoadLibrary(_T("Pagetest.dll"));

 // hook the browser wndProc (to supress crashes)
 #ifndef DEBUG
 if( !dispatch_hook )
  dispatch_hook = new CAPIHook("user32.dll", "DispatchMessageW", (PROC)::DispatchMessageW_hook, TRUE);
 #endif
 
 // hook winsock
 WinsockInstallHooks();
 
 // hook wininet
 WinInetInstallHooks();
}

4 windows精确计时

         EnterCriticalSection(&cs);
  QueryPerformanceCounter((LARGE_INTEGER *)&lastActivity);
  LeaveCriticalSection(&cs);

5 各个环节的衔接
  这个才是重中之重。


TAG: pagetest 网页 性能 分析 源码 开源工具与新技术研究

 

评分:0

我来说两句

日历

« 2024-03-23  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 153042
  • 日志数: 163
  • 文件数: 1
  • 建立时间: 2008-02-26
  • 更新时间: 2008-12-10

RSS订阅

Open Toolbar