Index
A
- ad hoc testing
- agile methodology
- about / The agile method
- analysis and design stage / Analysis and design
- testing stage / Implementation and testing
- deployment stage / Deployment
- maintenance stage / Maintenance
- alert method
- used, for code testing / Time for action—using alert to inspect your code
- alert not defined error
- about / Alert is not defined
- fixing / Time for action—fixing "Alert is not defined"
B
- black box testing
- advantages / Black box testing
- examples / Black box testing
- beta testing / Beta testing
- black box test phase, test plan
- expected but unacceptable values, testing / Time for action—Test case 1bi: testing expected but unacceptable values using boundary value testing
- boundary testing
- about / Boundary testing
- browser differences
- about / Browser differences and the need to test in multiple browsers
- testing, via capability testing / Time for action—capability testing for different browsers, What just happened?
- browsers
- built-in features / What happens when the browser encounters an error in JavaScript
- browser sniffing
- performing, navigator object used / Time for action—checking for features and sniffing browsers
C
- capability testing
- catchError function
- checking process
- simplifying / Time for action—simplifying the checking process
- Chrome debugging tool
- features / A brief introduction to the user interface
- Chrome JavaScript Debugger
- about / Debugging using Chrome
- code quality
- about / Code quality
- HTML and CSS, validating / HTML and CSS needs to be valid before you start on JavaScript
- code testing
- less obtrusive manner / Time for action—unobtrusively checking what values are used
- code validation
- simplified testing / How validation can simplify testing
- code, debugging / Validation can help you debug your code
- using / Validation helps you to code using good practices
- about / Validation
- color coding editors
- commenting out parts, of script
- common validation errors, JavaScript
- CSS
- about / Cascading Style Sheets
- referenced HTML document, styling / Referring to an HTML element by its id or class name and styling it
- id selectors / Differences between a class selector and an id selector
- debugging, IE8 developer tool used / Time for action—debugging CSS by using the IE8 developer toolHTMLdebugging, IE8 developer tool used
- CSS attributes
- reference link / Complete list of CSS attributes
D
- debugging, with Chrome
- enabling / Debugging using Chrome
- about / Time for action—debugging with Chrome
- console, accessing / Time for action—debugging with Chrome
- debugging process, simplifying / Time for action—debugging with Chrome
- debugging basics, IE debugging tool
- different parts, of web page
- accessing, getElementById used / Accessing other parts of the web page, Time for action—getting the correct values in the correct places
- Dragonfly
- using / Using Dragonfly
- accessing / Starting Dragonfly
- features / Brief Introduction to the User Interface
- debugging with / Time for action—debugging with Opera Dragonfly
- inspection / Inspection and Call Stack
- thread log / Thread Log
- settings / Settings
- Dragonfly, functions
E
- Eclipse
- equivalence partition testing
- about / Equivalence partitioning
- error console log
- using / Using the error console log
- error messages / Error messages
- own error messages, writing / Writing your own messages
- Error object
- about / The Error object
- working / The Error object
- errors, spotted by JSLint
- list / How to fix validation errors
- expecting <\/ instead of <\ / Time for action—fixing the expectation of '<\/' instead of '</'
- alert is not defined / Alert is not defined
- EvalError object
- about / The EvalError object
- examples, functional requirement testing
- web page tests / Functional requirement testing
- boundary testing / Functional requirement testing
- equivalence partitioning / Functional requirement testing
- examples, nonfunctional requirement testing
- performance testing / Non-functional requirement testing
- usability testing / Non-functional requirement testing
- integration testing / Non-functional requirement testing
- expectation of <\/ instead of </ error
- expectation of === instead of == error
- about / Expected '===' but found '=='
- fixing / Time for action—changing == to ===
- expected and acceptable values
- testing, white box testing used / Time for action—Test Case 1a: testing expected and acceptable values by using white box testing
- expected but unacceptable values
- boundary value testing used / Time for action—Test case 1bi: testing expected but unacceptable values using boundary value testing
- expected result
- expected result, of script
- checking / Does the script give the expected result?
F
- final phase, test plan
- entire program, testing with expected values / Time for action—Test Case 3a: testing the entire program with expected values
- robustness, testing / Time for action—Test Case 3b: testing robustness of the second form
- Firebug extension
- about / Firefox and the Firebug extension
- features / Firefox and the Firebug extension
- installing / Firefox and the Firebug extension
- Firefox Venkman extension
- about / Firefox and the Venkman extension
- using / Using Firefox's Venkman extension
- downloading / Obtaining the Venkman JavaScript Debugger extension
- accessing / Opening Venkman
- features / A brief introduction to the user interface
- debugging with / Time for action—debugging using Firefox's Venkman extension, What just happened?
- call stack / Breakpoints or Call Stack
- local variables / Local Variables and Watches
- watches / Local Variables and Watches
- debugging features / Time for action—more debugging with the Venkman extension
- Firefox Venkman extension, functions
- form values
- accessing, onsubmit event used / Time for action—accessing values from a form, What just happened?
- accessing, name attribute used / Another technique for accessing form values
- functional requirement testing
- examples / Functional requirement testing
- functions not defined error
G
- Google Chrome
- about / Differences between Safari and Google Chrome
- debugging / Debugging using Chrome
- Google Chrome Web Inspector
- about / Debugging using Chrome
H
- HTML
- about / HTML Content
- elements / HTML Content
- debugging, IE8 developer tool used / Time for action—debugging CSS by using the IE8 developer toolHTMLdebugging, IE8 developer tool used
- HTML document
- creating / Time for action—building a HTML document
- styling, CSS used / Time for action—styling your HTML document using CSS
- styling, stylistic attributes used / Referring to an HTML element by its id or class name and styling it
- HTML DOM availability
- HTML elements
- <head> </head> / HTML Content
- <body> </body> / HTML Content
- <title> </title> / HTML Content
- <p> </p> / HTML Content
- <h1> </h1> / HTML Content
- <a> </a> / HTML Content
- styling, attributes used / Styling HTML elements using its attributes
- id, specifying / Specifying id and class name for an HTML element
- HTML event handlers
I
- IE debugging tool
- features / A brief introduction to the user interface
- debugging basics / Debugging basics of the IE debugging tool
- HTML, debugging / Time for action—debugging HTML by using the IE8 developer tool
- CSS, debugging / Time for action—debugging CSS by using the IE8 developer toolHTMLdebugging, IE8 developer tool used
- JavaScript, debugging / Time for action—more Debugging JavaScript by using the IE8 developer tool
- IE developer tools
- about / IE 8 Developer Tools (and the developer toolbar plugin for IE6 and 7)
- using / Using IE developer tools
- IE debugging tool, accessing / Open
- illegal values phase, test plan
- integrated testing
- about / Integration testing
- invalidated code
- consequences / What happens if you don't validate your code
J
- JavaScript
- about / JavaScript providing behavior to a web page
- applying, to HTML document / Time for action—giving behavior to your HTML document, What just happened?
- elements, searching in document / Finding elements in a document
- interacting, with HTML elements / Putting it all together
- features / Preventing errors by choosing a suitable text editor
- error, encountering by browser / What happens when the browser encounters an error in JavaScript
- usability, enhancing / Have a go hero—enhance the usability of our program
- debugging, IE8 developer tool used / Debugging JavaScript, Time for action—more Debugging JavaScript by using the IE8 developer tool
- JavaScript code
- validating / The difference between validating and testing
- testing / The difference between validating and testing
- JavaScript errors
- types / Types of errors
- about / Deliberately throwing your own JavaScript errors
- try statement / The try, catch, and finally statement
- trapping, built-in objects used / Trapping errors by using built-in objects
- JavaScript events
- about / JavaScript events
- JavaScript libraries
- about / Using JavaScript libraries
- Dojo / Using JavaScript libraries
- link / Using JavaScript libraries
- considerations / Using JavaScript libraries
- testing / Do you need to test a library that someone else has written?
- widget add-ons / GUI and widget add-ons to libraries and considerations on how to test them
- JavaScript syntax
- about / JavaScript Syntax
- JavaScript testing
- Ajax, using / Does using Ajax make a difference?
- difference from server-side testing / Difference from server-side testing
- JQuery
- about / Avoiding HTML event handlers
- URL / Using JavaScript libraries
- JSLint
- URL / JSLint—an online validator, JavaScript Lint—a tool you can download
- features / JSLint—an online validator
- using, for spotting validation errors / What just happened?
- using / JavaScript Lint—a tool you can download
- JSLitmus
- ad hoc JavaScript benchmark tests, creating / Time for action—creating ad hoc JavaScript benchmark tests, What just happened?
L
- loading errors
- about / Loading errors
- common causes / Time for action—loading errors in action
- in partially correct JavaScript / Time for action—loading errors in action, What just happened?
- logic errors
- about / Logic errors
- common causes / Time for action—logic errors in action
M
- Mootools
N
- navigator object
- about / Time for action—checking for features and sniffing browsers
- browser sniffing, performing / Time for action—checking for features and sniffing browsers
- nonfunctional requirement testing
- examples / Non-functional requirement testing
- non-functional requirements / Non-functional requirement testing
O
- onsubmit event
- Opera JavaScript Debugger
P
- performance issues, regression testing
- performance testing
- about / Performance testing
- profiling testing
- about / Profiling testing
- program logic, test plan
- Prototype
Q
- Qunit
- working / Time for action testing JavaScript with QUnitQunitworking
- JavaScript, testing / Time for action testing JavaScript with QUnitQunitworking
- assertion tests / More assertion tests for various situations
R
- RangeError object
- about / The RangeError object
- working / The RangeError object
- ReferenceError object
- about / The ReferenceError object
- working / The ReferenceError object
- regression testing
- implementing / Regression testing in action
- performing / Time for action—fixing the bugs and performing regression testing
- performance issues / Performance issues—compressing your code to make it load faster
- right values, web page
- getting, at right places / Time for action—getting the correct values in the correct places
- runtime errors
- about / Runtime errors
- common causes / Time for action—runtime errors in action
S
- Safari
- Sahi
- features / Sahi
- assertion tests, performing / More complex testing with Sahi
- sample application
- exception handling mechanisms, applying / Modifying scripts and testing, Time for action—coding, modifying, throwing, and catching errors
- scope, for test plan
- defining / Testing for invalid actions by users
- Script.aculo.us
- scripts combining, issues
- about / Issues with combining scripts
- event handlers, combining / Combining event handlers
- name clashes, removing / Naming clashes
- Selenium
- Selenium Server
- server side languages
- and JavaScript, differences / The difference between JavaScript and server-side languages
- Python / The difference between JavaScript and server-side languages
- simple-to-use method
- software lifecycle
- about / A very brief introduction to the software lifecycle
- stages / A very brief introduction to the software lifecycle
- analysis stage / A very brief introduction to the software lifecycle
- design stage / A very brief introduction to the software lifecycle
- implementation stage / A very brief introduction to the software lifecycle
- testing stage / A very brief introduction to the software lifecycle
- deployment stage / A very brief introduction to the software lifecycle
- maintenance stage / A very brief introduction to the software lifecycle
- SyntaxError object
- about / The SyntaxError object
T
- techniques, for code testing
- about / What to do if the script doesn't run
- alert method, using / Using alert[] to see what code is running, Using alert() to see what values are being used
- less obtrusive manner / A less obtrusive way to check what code is running and the values used
- test cases
- functional requirement testing / Functional requirement testing
- non functional requirement testing / Non-functional requirement testing
- acceptance testing / Acceptance testing
- black box testing / Black box testing
- performance testing / Performance tests
- integrated testing / Integration testing
- regression testing / Regression testing—repeating prior testing after making changes, Testing ordertest casesregression testing
- testing
- about / What is testing?
- need for / Why do you need to test?
- testing and validating
- differences / The difference between validating and testing
- testing order
- testing tools
- Sahi / Sahi
- QUnit / QUnit
- JSLitmus / JSLitmus
- Selenium / More testing tools that you should check out
- Assertion Unit Framework / More testing tools that you should check out
- JsUnit / More testing tools that you should check out
- FireUnit / More testing tools that you should check out
- JSpec / More testing tools that you should check out
- test plan
- need for / Do you need a test plan to be able to test?
- developing / When to develop the test plan
- scope, defining / How much testing is required?, A short summary of the above issues
- documenting / Documenting your test plan
- about / The test plan
- versioning / Versioning
- bug form / Bug form
- summary / Summary of our test plan
- applying / Applying the test plan: running your tests in order
- errors / What to do when a test returns an unexpected result
- test plan implementation
- black box test phase / Test Case 1b: Testing expected but unacceptable values using black box testing
- program logic, testing / Test Case 2: Testing the program logic
- unexpected values, testing / Test Case 3: Integration testing and testing unexpected values
- test strategy
- about / Test strategy
- white box testing / Testing expected and acceptable values by using white box testing
- black box testing / Testing expected and unacceptable values by using black box testing
- program logic, testing / Testing the program logic
- unexpected values, testing / Integrated testing and testing unexpected values
- TestSwarm
- throw statement
- about / The throw statements
- tips, for error free JavaScript
- too many var statements error
- try statement
- TypeError object
- about / The TypeError object
- working / The TypeError object
U
- unexpected use of ++ error
- unit testing
- about / Unit tests
- URIError object
- about / The URIError object
- usability testing
- about / Usability tests
- aspects / Usability tests
- user interface widgets
- testing, Sahi used / Time for action—user Interface testing using Sahi
- use strict error
- use strict statement
V
- validation errors
- spotting, JSLint used / Time for action—using JSLint to spot validation errors
- fixing / How to fix validation errors
- valid code constructs, producing validation warnings
- visual inspection, code testing
- tips / Visually inspecting the code
W
- Watir
- web page testing
- about / Web page tests
- white box testing
- about / White box testing
- examples / Branch testingwhite box testingexamples
- branch testing / Branch testingwhite box testingexamples
- pareto testing / Pareto testing
- white box test phase, test plan
- expected and acceptable values, testing / Test Case 1: Testing expected and acceptable values, Time for action—Test Case 1a: testing expected and acceptable values by using white box testing
Y
- YUI