Time of Update: 2018-12-03
來看一下下面的代碼:var a=textbox1.text;var b=5;if(a<b);//如果使用者輸入的值小於5,就取5{a=b;}看看執行後有什麼效果,無論textbox1.text是什麼值,都會時放條件判斷.為什麼呢.有沒有什麼發現. 原來在寫代碼的時候,if(a<b);這裡多了個分號.一不小心犯的錯,卻花了不少時間來解決. 注:剛寫下的經過,再次開啟時,沒有內容了.因此就精簡一點了.寫個大致意思了
Time of Update: 2018-12-03
第一次接手JAVA項目,在上線後就遇到了網站效能問題.說實話,對於JAVA我不是很瞭解,同時有點感冒. 客戶內網網站的是用JAVA+TOMCAT6+ORACLE9I開發的.上線後,客戶單位有二百多人,大部分時候有150左右線上.上線後在客戶某些機器上網頁呈現的很快,一點就開了.可是在某些機器上開啟網頁要一到二分種.這個是沒辦法忍受的.客戶一個接一個的電話打過來.頭都暈了.在發布線,內部都做過一些測試的,理論上效能不會如此差的.沒辦法.只能聽客戶和現場的實施人員的描述來判斷.(因為是客戶的內網,機
Time of Update: 2018-12-03
二個整型數求其平均值,這個問題有人說,小學生都會. c=(a+b)/2是的.這是一個很簡單的問題.程式員一定也會.可是我們在會的時候,卻忘記了會溢出,因為二個整型數相加之後可能會大於int.Max如果是這樣的話,那我們按上面的公式求出來的值還會正確嗎.但是我們知道它們的平均值是肯定不會溢出 來看一下下面的代碼.輕鬆解決了這個問題.int average(int x, int y) //返回X,Y 的平均值 { return (x&y)+((x^y)>>1);
Time of Update: 2018-12-03
前一篇介紹了Code Coverage的一些指標,那麼如何比較簡單的評價一款軟體對這些指標的支援呢。由於公司的項目組選擇AQtime這個工具,所以有機會能進行比較深入的體驗一下。為了避免IDE自動產生的code,我們採用記事本來編寫一個簡單的C dll,用cl.exe進行編譯,同時,寫一些簡單的測試案例。MyMath.cpp#include <iostream>extern "C" _declspec(dllexport) int foo(int x, int y){ int
Time of Update: 2018-12-03
AQtime的Coverage Profiler有一些不錯的特性,能方便我們更好的進行程式碼涵蓋範圍的檢測。New Area和 Files to
Time of Update: 2018-12-03
Coded UI Test Builder是CUIT的非常重要的一個組件:如果你採用錄製方式來產生指令碼,那麼她會一直伴隨著你;如果你採用純code方式來寫指令碼,她同樣是一個很好的幫手,來協助你找到標識控制項的屬性。 可以通過兩種方式來調出其視窗:1. VSTS功能表列 Test->Generate Code for Coded UI Test->Use Coded UI Test Builder...2. 滑鼠右鍵 在一個標有[TestMethod]屬性的Coded UI
Time of Update: 2018-12-03
個人理解:簡單地說,Assembly.CreateInstance是經過封裝的Activator.CreateInstance方法。前者在安全上更有保障一些,後者用途更廣泛一些。Assembly.CreateInstance 方法 (String)使用區分大小寫搜尋,從此程式集中尋找指定的類型,然後使用系統啟用器建立它的執行個體。Activator.CreateInstance 方法
Time of Update: 2018-12-03
:http://nant.sourceforge.net/ 1. 建立一個最簡單的target:以<target></target>為標記,輸出預定義的常量PROJECT_NAME 和PROJECT_VER<?xml version="1.0" encoding="utf-8"?><project name="MyBuild" default="TestEcho" basedir="."
Time of Update: 2018-12-03
運行Hudson服務的機器叫做Master machine,通過Hudson的node功能,可以配置其他機器作為Master的slave,在master統一分配,運行任務。1. 啟動Hudson;2. 點擊Hudson-->Manage Hudson-->Manage Nodes-->New Node,輸入要作為slave機器的機器名,並選中Dumb Slave;3. 配置相關的slave machine資訊:點擊Save,一個slave
Time of Update: 2018-12-03
剛才聽同事說到了Python的幾個很顯著的特性,順便上網查看了一下Python與Qt的一些文章,順便記下一些入門知識:1. Qt內建的Script支援:Qt Script for Applications (QSA),跨平台指令碼工具箱,為靜態Qt/C++程式提供了一個指令碼介面,可以定製和擴充程式。支援指令碼語言--Qt Script (基於ECMAScript, Microsoft's JScript, and Netscape's JavaScript也是基於該標準)2. PyQt:
Time of Update: 2018-12-03
在寫測試代碼時,把locator值直接寫到測試代碼裡面,不具備良好的可讀性,同時,後期也不利於代碼的維護。如下測試代碼:selenium.type("userName", "seleniumtest");selenium.type("password", "seleniumtest");如果在某個build中,控制項"User Name"的屬性"userName"被開發人員重新改變了,這個時候,測試代碼也要做相應的改動。如果把該值外部化到一個檔案中,我們僅僅需要修改該檔案,不需要對代碼進行修改;
Time of Update: 2018-12-03
如果想自訂一個類似於PowerShell的Get-Process的cmdlet,例如Get-Proc,如何自己編寫這樣一個cmdlet呢?查閱msdn,其基本步驟是:1. 確定cmdlet的名字:通常cmdlet都採取verb-noun的方式,確定自訂的cmdlet屬於哪個cmdlet verb,並確定一個具體的名詞。本例中,Get-Proc屬於Verbs.Common.Get,名詞則是"Proc";2. 確定cmdlet的類名,通常,以verbnoun+"command"尾碼作為類名。本例中,
Time of Update: 2018-12-03
今天測試Qt程式的時候碰到了2個小問題:1. 如何在TreeView中進行排序。標準做法當然是使用QSortFilterProxyModel,起先我自訂的Model類是從QAbstractProxyModel派生出來的,做了一些定製的修改,當我想排序的時候,我把基類改成QSortFilterProxyModel,發現有好些不相容的地方。把我自訂的Proxy Model的函數全部屏蔽掉以後一切正常,因此,如果你需要自訂的Proxy
Time of Update: 2018-12-03
若要為參數設定多值屬性,則在“報表參數”對話方塊上選擇“多值”選項。可以將任何參數類型設定為多值(除布爾值之外)。您可以為要建立的任何報表參數定義多值參數。不過,如果要將多個參數值傳回查詢,則必須滿足下列要求:資料來源必須為 SQL Server、Oracle 或 Analysis Services。資料來源不能是預存程序。Reporting Services 不支援將多值參數數組傳遞給預存程序。查詢必須使用 IN 子句來指定參數。編寫引用多值參數的運算式在運算式中引用參數時,使用全域集合參數。
Time of Update: 2018-12-03
以在http://newtours.demoaut.com/index.php網站上完成一個簡單的機票定製流程為例,慢慢最佳化:1. 開啟eclipse,建立一個測試專案,在BuildPath-->Libraries中,加入selenium-java-client-driver-1.0.x檔案下所有的jar包,以及junit包;2. 建立junit測試類別SimpleWorkFlow, eclipse會自動建立測試的基本架構:3.
Time of Update: 2018-12-03
實際測試中,不可避免的需要等待控制項完全ready,才能進行相關的操作,這個時候,就需要動態以小步遞進的方式,對某個條件判斷,進行時間等待,而不是簡單的等待幾秒。可以把相關函數封裝在一個SeleniumUtils類中,供大家調用:import com.thoughtworks.selenium.Selenium;import com.thoughtworks.selenium.SeleneseTestCase;public class SeleniumUtils extends
Time of Update: 2018-12-03
測試到一定規模後,不免會用到虛擬機器,針對VMware esx,列出幾條常用的命令: 1. 列出esx server上的vm的儲存路徑(僅列出正在啟動並執行vm)vmrun -T esx -h https://ServerIP/sdk -u ServerUserName -p ServerPassword list 2. 啟動某一個vmvmrun -T esx -h https://ServerIP/sdk -u ServerUserName -p ServerPassword start "[
Time of Update: 2018-12-03
用Visual C++ 2005編譯使用了wxWidgets,可能碰到如下的錯誤:CVTRES : fatal error CVT1100: duplicate resource. type:MANIFEST, name:1, language:0x0409LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or
Time of Update: 2018-12-03
準備條件:假定有兩個表table1:ID DATA1 A2 B3 Ctable2:ID DATA1 A2 B4 D問題提出:1.如果要尋找table1和table2中相同的資料,則sql語句為: SELECT table1.ID, table1.DATA, table2.ID, table2.DATAFROM table1 INNER JOIN table2 ON (table1.DATA = table2.DATA) AND
Time of Update: 2018-12-03
window.opener 實際上就是通過window.open開啟的表單的父表單。比如在父表單parentForm裡面 通過 window.open("subForm.html"),那麼在subform.html中 window.opener就代表parentForm,可以通過這種方式設定父表單的值或者調用js方法。如:1,window.opener.test(); ---調用父表單中的test()方法