Testing: Difference between revisions

From LemonWiki共筆
Jump to navigation Jump to search
mNo edit summary
 
(200 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Template:Build a website}}


== Test connectivity for the web service ==
[[Test connectivity for the web service]]


== user client node ==
== user client node ==
=== connection test ===
* connect to <nowiki>http://ip:80 </nowiki>
* or use the remote website monitoring services: [[Web Ping]]


=== browser issue ===
=== browser & device issue ===
* browser version: [[Check Browser Compatibility]] & Validation service or [[Validator]]: Check Markup or CSS syntax
* Browser version: [[Check Browser Compatibility]] & Validation service or [[Validator]]: Check Markup or CSS syntax
* clear browser cache
* Multiple screen resolution test: [[CSS_tools#不同螢幕解析度檢視網頁 | 不同螢幕解析度檢視網頁]]
** client temporary files
* [[Mobile friendliness tool]]
** clear server cache ex: [http://www.smarty.net/manual/en/caching.php Smarty Caching]
* Disable all extensions
* code snippet web-based editor
* Clear browser cache by [http://en.wikipedia.org/wiki/Wikipedia:Bypass_your_cache Bypass your cache] ([http://zh.wikipedia.org/wiki/Help:%E7%BB%95%E8%BF%87%E6%B5%8F%E8%A7%88%E5%99%A8%E7%BC%93%E5%AD%98 繞過瀏覽器快取])
** [http://dabblet.com/ The first commented line is your dabblet’s title ✿ dabblet.com]: view the [http://dabblet.com/gist/2779082 sample] of html and css {{access | date = 2012-08-22}}
** Client temporary files
** [http://jsbin.com/ JS Bin - Collaborative JavaScript Debugging]
** [https://www.technipages.com/google-chrome-how-to-completely-disable-cache Google Chrome: How to Disable Cache]
** [http://jsfiddle.net/ jsFiddle]
* Clear server cache ex: [http://www.smarty.net/manual/en/caching.php Smarty Caching]


=== plug-ins issue ===
==== Online IDE ====
[[Programming online (Online IDE)]]
 
=== browser plug-ins issue ===
* [http://www.adobe.com/software/flash/about/ Test your Adobe Flash Player installation]
* [http://www.adobe.com/software/flash/about/ Test your Adobe Flash Player installation]
* [http://www.adobe.com/shockwave/welcome/ Adobe - Test Adobe Shockwave Player]
* [http://www.adobe.com/shockwave/welcome/ Adobe - Test Adobe Shockwave Player]
Line 23: Line 24:


=== e-mail testing issue ===
=== e-mail testing issue ===
Using the following e-mail service with name alias or alternative name function
[[Email testing]]
* [https://gmail.google.com/ Google Gmail]: plus sign {{exclaim}} the plus sign is not allowed by some services
* [http://get.live.com/mail/overview Windows Live™ Hotmail]: [http://windows.microsoft.com/zh-TW/hotmail/conquergraymail/advanced/alias Alias] / 在一個收件匣建立多個別名 {{access | date=2012-03-30}}


=== monitoring the status or changes of files or registry ===
=== monitoring the status or changes of files or registry ===
Line 31: Line 30:
* [http://technet.microsoft.com/en-us/sysinternals/bb896652 RegMon for Windows] / [http://portable.easylife.tw/101 RegMon v7.04 - 註冊表監控 :: 綠色工廠 Easylife Blog]
* [http://technet.microsoft.com/en-us/sysinternals/bb896652 RegMon for Windows] / [http://portable.easylife.tw/101 RegMon v7.04 - 註冊表監控 :: 綠色工廠 Easylife Blog]


=== monitoring the request sent to the server ===
=== monitoring or generating the HTTP request sent to the server ===
[[HTTP request and response data tool]]
[[HTTP request and response data tool]]


=== domain name issue ===
=== domain name issue ===
C:\WINDOWS\system32\drivers\etc\hosts
Modify the following files if you want to test the domain name before the mapping of domain name and ip was changed really
* C:\WINDOWS\system32\drivers\etc\hosts for {{win}} XP, Win7<ref>[http://tommy.ironman.tw/windows-7-vista-hosts-error/ Azan 黃贊臣 » 在Windows 7 或 Vista 中修改hosts檔的方法]</ref>, Win 10 & Windows Server 2008 R2 Standard
* On Windows 2003 server: edit the file located at {{kbd | key=<nowiki>C:\WINNT\system32\drivers\etc\hosts</nowiki>}}
* On {{Linux}}, input the command {{kbd | key=<nowiki>sudo vi /etc/hosts</nowiki>}} 
<pre>
<pre>
127.0.0.1      localhost
127.0.0.1      localhost
# ip            domain.com
# ip            domain.com
</pre>
</pre>
* On {{Mac}}, input the command {{kbd | key=<nowiki>sudo vi /private/etc/hosts</nowiki>}} <ref>[https://www.tekrevue.com/tip/edit-hosts-file-mac-os-x/ How to Edit the Hosts File on Mac OS X - TekRevue]</ref>
Clear the DNS cache
* [http://www.noip.com/support/knowledgebase/how-do-i-flush-my-windows-dns-cache/ How Do I Clear My DNS Cache on Windows? | Support | No-IP] for {{Win}}
* [https://support.apple.com/en-us/HT202516 Reset the DNS cache in OS X - Apple Support] for {{Mac}}
more on [[Web_Ping#DNS.E6.AA.A2.E6.9F.A5 | DNS checking]]
=== handling form data ===
before submit the form data
* (1)Use the [https://addons.mozilla.org/zh-tw/firefox/addon/web-developer/ Web Developer] plugin for {{Fx}} and (2)Menu -> Forms -> Display form details


== local node (if you has permission to log in the server via SSH or Remote desktop service) ==
after submit the form data
=== check the service port ===
* PHP var_dump $_POST 或 $_GET
==== from local node to service node ====
* [http://api.jquery.com/serialize/ .serialize() | jQuery API Documentation]
telnet
# telnet ''DOMAIN_or_IP'' ''PORT'' ex: {{kbd | key = telnet localhost 80}} or {{kbd | key = telnet 127.0.0.1 80}}
# (after telnet-ed the web 80 port, ) key in {{kbd | key = GET}} and  press  {{kbd | key = ENTER}}
# more on [http://www.simplescripts.de/http-check-port-80-telnet-command.htm HTTP Check Port 80 with the Telnet Command]


netstat ex: find MySQL 3306 port
# {{kbd | key = <nowiki>netstat -a | find "3306"</nowiki>}} (note: require the '''double quote''' symbol, not single quote symbol)
# more on [http://www.techrepublic.com/blog/security/list-open-ports-and-listening-services/443 List open ports and listening services]


tools
=== login issues into different accounts ===
* [http://technet.microsoft.com/en-us/sysinternals/bb897437 TCPView for Windows]
If you need to clear the cookie frequently for the testing account issue
* Using the privacy browsing for {{Fx}} & {{Chrome}}. Each time you turning on the privacy browsing, the logged status and cookie will not saved.<ref>[http://support.mozilla.org/en-US/kb/private-browsing-browse-web-without-saving-info Private Browsing - Browse the web without saving information about the sites you visit | Firefox Help]</ref>
* Manually clear cookie and temporary files of browser


==== from local or remote node to service node ====
=== file upload ===
telnet
* [http://www.fakefilegenerator.com/generate-file.php Generate a File - Fake File Generator] allow to specify the filesize
# telnet ''DOMAIN_or_IP'' ''PORT'' ex: {{kbd | key = telnet localhost 80}} or {{kbd | key = telnet 127.0.0.1 80}}
# (after telnet-ed the web 80 port, key in) {{kbd_plus | key1 = get | key2 = SPACE}}
# more on [http://www.simplescripts.de/http-check-port-80-telnet-command.htm HTTP Check Port 80 with the Telnet Command]


==== from remote node to service node ====
=== excel format compatibility ===
tools
Using Microsoft [http://www.microsoft.com/en-us/download/details.aspx?id=10 Excel Viewer] to check the excel format compatibility. {{exclaim}} It's not save to check the excel file only by using the old version of Excel.
# {{Gd}} [http://www.canyouseeme.org/ Open Port Check Tool]: ''Using browser'' to check the specified port of local machine from canyouseeme.org.
# [http://portforward.com/help/portcheck.htm PFPortCheck Program]: check TCP/UDP port from localhost(where you installed the program) to portforward.com
# [[Web_Ping#網站連線測試]]: to test the port 80


=== check the server/service logs ===
 
=== database issue ===
* SQL
** [http://sqlfiddle.com/ SQL Fiddle] support MySQL, MS SQL, Oracle, PosgreSQL, SQLite ... {{Gd}}
 
== server environment ==
[[Testing server environment]]
 
== local server node (if you has permission to log in the server via SSH or Remote desktop service) ==
 
check the server/service logs
=== OS ===
==== Microsoft Windows ====
** XP / Vista: 控制台 --> 系統管理工具 --> 事件檢視器
** [http://www.microsoft.com/technet/support/ee/ee_basic.aspx 事件和錯誤訊息中心: 基本搜尋]
 
=== Web server ===
==== Apache ====
==== Apache ====
* [http://httpd.apache.org/ Apache HTTP server] log: /etc/httpd/logs  (location was set up in the configuration file /etc/httpd/conf/httpd.conf)
[http://httpd.apache.org/ Apache HTTP server] log: /etc/httpd/logs  (location was set up in the configuration file /etc/httpd/conf/httpd.conf)
** access.log
* access.log
** error.log - record when the apache service restarted/stopped
* error.log - record when the apache service restarted/stopped
Using grep command to search the logs: {{kbd | key=<nowiki>grep -ir "string to search" /path/to/directory</nowiki>}}. More on [[Desktop_search#Search_text_in_files| Search text in files]]


==== IIS ====
[http://www.iis.net/ Microsoft Internet Information Services] (IIS) log (記錄檔)<ref>[http://www.dotblogs.com.tw/jimmyyu/archive/2009/06/26/9006.aspx (ASP.NET)從Log追蹤錯誤 - gipi的學習筆記-職場規劃、專案管理、雲端運算部落格- 點部落]</ref>
*  C:\WINDOWS\system32\LogFiles\
=== Database server ===
==== MySQL ====
==== MySQL ====
[http://dev.mysql.com/doc/refman/5.1/en/server-logs.html MySQL Server Logs]:  
[http://dev.mysql.com/doc/refman/5.1/en/server-logs.html MySQL Server Logs]:  
* step1: enable logging /var/log/mysql.log (location was set up in the configuration file /etc/my.cnf or my.ini) <ref>[http://blog.longwin.com.tw/2005/10/mysql_query_slow_find/ 找出 MySQL 哪些 Query 速度較慢 | Tsung's Blog]</ref>
* step1: verify the system variable<ref>[https://dev.mysql.com/doc/refman/5.7/en/show-variables.html MySQL :: MySQL 5.7 Reference Manual :: 13.7.5.39 SHOW VARIABLES Syntax]</ref>
<pre>
mysql> SHOW VARIABLES LIKE '%general_log%';
mysql> SHOW GLOBAL VARIABLES LIKE '%general_log%';
</pre>
* step2: enable logging /var/log/mysql.log (location was set up in the configuration file /etc/my.cnf or my.ini) <ref>[http://blog.longwin.com.tw/2005/10/mysql_query_slow_find/ 找出 MySQL 哪些 Query 速度較慢 | Tsung's Blog]</ref>
<pre>
<pre>
[mysqld]  
[mysqld]  
## includes all SQL queries/commands
# general_log = 1
# general_log = 1
# general_log_file="general_log_file.log"
# general_log_file="general_log_file.log"
Line 89: Line 120:
</pre>
</pre>


* step2: restart MySQL service
* step3: restart MySQL service
 
==== Microsoft SQL Server ====
* [http://expressprofiler.codeplex.com/ ExpressProfiler] includes all SQL queries/commands
* [http://msdn.microsoft.com/en-us/library/ms187109.aspx SQL Server Error Log] / [http://msdn.microsoft.com/zh-tw/library/ms187885(v=sql.105).aspx 檢視 SQL Server 錯誤記錄] "contains user-defined events and certain system events ..." quoted from [http://msdn.microsoft.com/en-us/library/ms187109.aspx SQL Server Error Log] ex: X:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Log\ERRORLOG
* [http://stackoverflow.com/questions/123781/logging-all-queries-on-a-sql-server-2008-express-database Logging ALL Queries on a SQL Server 2008 Express Database? - Stack Overflow] ''not tested''


=== Other ===
==== PHP ====
==== PHP ====
===== native error logging =====
[[PHP_errors#logging]]
* [http://www.php.net/ PHP] log: check the configuration file: /etc/php.ini (the location of configuration file can be verified by [http://php.net/manual/en/function.phpinfo.php phpinfo()] )
 
(for production site) unmark theese lines in the php.ini and restart Apache service
==== Java ====
 
<pre>
<pre>
log_errors = On
System.out.println("Boston, We Have A Problem" + variable); //output to Tomcat consile
error_log = "php_error.log"
out.println("Boston, We Have A Problem" + variable); //output to JSP webpage
</pre>
</pre>
(for development site) using [http://php.net/manual/en/function.error-reporting.php error_reporting]
 
<pre>
or using [https://netbeans.org/features/java/debugger.html NetBeans IDE - Debugger and Profiler] to setup the breakpoints.
error_reporting(E_ALL);
 
</pre>
==== console command ====
* [http://php.net/manual/en/function.error-log.php PHP: error_log - Manual]
===== capture the result of var_dump =====
ob_start
* [http://stackoverflow.com/questions/139474/how-can-i-capture-the-result-of-var-dump-to-a-string php - How can I capture the result of var_dump to a string? - Stack Overflow]
<pre>
<pre>
ob_start();
//write the console output to the file
var_dump($some_variable);
command > log.txt
$result = ob_get_clean();
error_log($result, 3, 'd:/result.log');
</pre>


QuickForm
//append to the same file
<pre>
command >> log.txt
$result = var_dump($some_variable);
$form->addElement('html', $result);
</pre>
</pre>
==== IIS ====
* [http://www.iis.net/ Microsoft Internet Information Services] (IIS) log (記錄檔)
**  C:\WINDOWS\system32\LogFiles\
==== Microsoft Windows ====
* Microsoft Windows
** XP / Vista: 控制台 --> 系統管理工具 --> 事件檢視器
** [http://www.microsoft.com/technet/support/ee/ee_basic.aspx 事件和錯誤訊息中心: 基本搜尋]


== find match string ==
== find match string ==
Line 144: Line 164:
* functional testing
* functional testing


== references ==
templates
* [[Bug report template]]
 
== References ==
<references/>
<references/>
further reading
* [http://help.trello.com/article/736-troubleshooting-browser-issues-with-trello Troubleshooting browser issues with Trello - Trello Help] {{access | date = 2017-03-28}}
* [https://asana.com/guide/help/faq/connectivity Supported browsers and troubleshooting steps for Asana | Product guide · Asana] {{access | date = 2017-03-28}}
* [https://ngrok.com/ ngrok - secure introspectable tunnels to localhost] {{access | date = 2020-02-20}}
{{Template:Build a website}}


[[Category:Software]]
[[Category:Software]]
Line 151: Line 182:
[[Category:Web_Dev]]
[[Category:Web_Dev]]
[[Category:MySQL]]
[[Category:MySQL]]
[[Category:Linux]]
[[Category:Testing]]

Latest revision as of 14:49, 14 August 2023

Test connectivity for the web service[edit]

Test connectivity for the web service

user client node[edit]

browser & device issue[edit]

Online IDE[edit]

Programming online (Online IDE)

browser plug-ins issue[edit]

e-mail testing issue[edit]

Email testing

monitoring the status or changes of files or registry[edit]

monitoring or generating the HTTP request sent to the server[edit]

HTTP request and response data tool

domain name issue[edit]

Modify the following files if you want to test the domain name before the mapping of domain name and ip was changed really

  • C:\WINDOWS\system32\drivers\etc\hosts for Win Os windows.png XP, Win7[1], Win 10 & Windows Server 2008 R2 Standard
  • On Windows 2003 server: edit the file located at C:\WINNT\system32\drivers\etc\hosts
  • On Linux Os linux.png , input the command sudo vi /etc/hosts
127.0.0.1       localhost
# ip            domain.com
  • On Mac icon_os_mac.png , input the command sudo vi /private/etc/hosts [2]


Clear the DNS cache

more on DNS checking

handling form data[edit]

before submit the form data

  • (1)Use the Web Developer plugin for Firefox browser_firefox.png and (2)Menu -> Forms -> Display form details

after submit the form data


login issues into different accounts[edit]

If you need to clear the cookie frequently for the testing account issue

  • Using the privacy browsing for Firefox browser_firefox.png & Chrome Browser chrome.png . Each time you turning on the privacy browsing, the logged status and cookie will not saved.[3]
  • Manually clear cookie and temporary files of browser

file upload[edit]

excel format compatibility[edit]

Using Microsoft Excel Viewer to check the excel format compatibility. Icon_exclaim.gif It's not save to check the excel file only by using the old version of Excel.


database issue[edit]

  • SQL
    • SQL Fiddle support MySQL, MS SQL, Oracle, PosgreSQL, SQLite ... Good.gif

server environment[edit]

Testing server environment

local server node (if you has permission to log in the server via SSH or Remote desktop service)[edit]

check the server/service logs

OS[edit]

Microsoft Windows[edit]

Web server[edit]

Apache[edit]

Apache HTTP server log: /etc/httpd/logs (location was set up in the configuration file /etc/httpd/conf/httpd.conf)

  • access.log
  • error.log - record when the apache service restarted/stopped

Using grep command to search the logs: grep -ir "string to search" /path/to/directory. More on Search text in files

IIS[edit]

Microsoft Internet Information Services (IIS) log (記錄檔)[4]

  • C:\WINDOWS\system32\LogFiles\

Database server[edit]

MySQL[edit]

MySQL Server Logs:

  • step1: verify the system variable[5]
mysql> SHOW VARIABLES LIKE '%general_log%';
mysql> SHOW GLOBAL VARIABLES LIKE '%general_log%';
  • step2: enable logging /var/log/mysql.log (location was set up in the configuration file /etc/my.cnf or my.ini) [6]
[mysqld] 
## includes all SQL queries/commands
# general_log = 1
# general_log_file="general_log_file.log"
log-error=/var/log/mysql/error.log
log-slow-queries = /var/log/mysql/mysql-slow.log
#another syntax
#slow_query_log_file = mysql-slow.log
long_query_time = 1
log-long-format
  • step3: restart MySQL service

Microsoft SQL Server[edit]

Other[edit]

PHP[edit]

PHP_errors#logging

Java[edit]

System.out.println("Boston, We Have A Problem" + variable); //output to Tomcat consile
out.println("Boston, We Have A Problem" + variable); //output to JSP webpage

or using NetBeans IDE - Debugger and Profiler to setup the breakpoints.

console command[edit]

//write the console output to the file
command > log.txt

//append to the same file
command >> log.txt

find match string[edit]

Owl icon.jpg If the message text or code snippets was not found in the plain text files, it may stored in the database.

related topic[edit]

related terms

  • functional testing

templates

References[edit]

further reading


Web site design and development process