michaelfox + testing   159

ab - Apache HTTP server benchmarking tool - Apache HTTP Server
ab is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server. It is designed to give you an impression of how your current Apache installation performs. This especially shows you how many requests per second your Apache installation is capable of serving.
apache  benchmark  performance  http  testing 
may 2011 by michaelfox
phiggins42/has.js - GitHub
has.js
Pure feature detection library, a la carte style.

This document is not complete.

About

Browser sniffing and feature inference are flawed techniques for detecting browser support in client side JavaScript. The goal of has.js is to provide a collection of self-contained tests and unified framework around using pure feature detection for whatever library consumes it.

You likely won't see has.js as a public API in any library. The idea is that %yourfavoritelibrary% will import some or all the available tests, based on their own needs for providing you a normalized future proof API against common tasks.
browser  css3  javascript  testing 
may 2011 by michaelfox
andyedinborough/stress-css - GitHub
JavaScript to test each CSS class on a page and report which are hindering performance
css  javascript  testing  performance  optimization  bookmarklet 
april 2011 by michaelfox
bfirsh/needle - GitHub
Needle is a tool for testing your CSS with Selenium and nose.

It checks that CSS renders correctly by taking screenshots of portions of a website and comparing them against known good screenshots. It also provides tools for testing calculated CSS values and the position of HTML elements.
css  python  testing  tools 
april 2011 by michaelfox
MockSMTP.app
About the app
MockSMTP is a native Mac application that embeds its own SMTP server. It also features an e-mail client browser, enabling instant viewing of both raw content and HTML rendering, so you can see how your mail looks when delivered.
Configuration couldn't be simpler: just run the application and everything's set up. You don't even need an internet connection for it to work!
Up and coming
This is our first release. You can already download a 30-day free trial and now you can buy it €19. All 1.x updates will be free. Of course, we are waiting for your feedback to make it even better!
Use the feedback form to report ideas/problems.
email  mac  osx  testing  smtp  development  tools 
april 2011 by michaelfox
Behat — BDD for PHP
Behat is a BDD framework for PHP

Behat was inspired by Ruby's Cucumber project and especially its syntax part (Gherkin). It tries to be like Cucumber with input (Feature files) and output (console formatters), but in core, it has been built from the ground on the Symfony2 Components.

Learn Behat in 30 minutes with quick intro guide.
php  tdd  bdd  testing  unittesting  framework 
march 2011 by michaelfox
iPhone SDK: Testing with TextMate & GTM | Pathfinder Development | Software Developers | Blogs
Developing in Xcode, I keep my project default "SDKROOT" and Target set to the default for the iPhone device and 'Release', respectively.

That said, I have been trying out TextMate as an alternative to Xcode, thanks to all of the great things TextMate provides (I won't go into all that here, since there are already many great resources on the web). For those iPhone developers who are new to the Mac platform, or to TextMate for that matter, here's a quick tip (and be sure to check install Xcode bundle first).

First, as always, an obligatory shout-out to Google Toolbox for Mac. I am testing my code with GTM, and set the following environment variables so that Xcode plugin for TextMate could run a build / tests accordingly.
ios  textmate  sdk  testing  gtm 
december 2010 by michaelfox
WebPagetest
souders: Awesome start to the 2010 Performance Calendar: Pat Meenan (http://webpagetest.org, now at Google) performance trends: http://bit.ly/i2vJkO
optimization  performance  testing  tools  speed    from instapaper
december 2010 by michaelfox
altfontprev - Project Hosting on Google Code
AltFontPrev is a JavaScript bookmarklet that allows you to preview how any website would look if a particular font was not available or a different font chosen. Each font used to style elements on the page is listed under its selector and, when clicked, is moved from being a fall-back to being the primary font.

As well as choosing a font from the existing CSS declarations, you can type a custom font to override everything. Hopefully this will help you choose alternative fonts when perfecting your site’s typography.
fonts  javascript  typography  debugging  design  ux  tools  testing  development  snippets  bookmarklets 
november 2010 by michaelfox
How to I add a JQuery locators to Selenium Remote Control - Stack Overflow
Hi, I've been using XPath with Selenium quite happily and even using getEval with a but of Javascript, but a colleague said wouldn't it be great to be able to use JQuery selectors in Selenium.

I've googled it, but can't find any articles that seem to work for me. Could anyone provide a comprehensive guide on how to use JQuery syntax to extract doc elements and their respective values out of selenium.

I'm using C# to write my selenium tests, so if any examples could be from a C# perspective that'd be great.

Thanks
jquery  selenium  testing  browsers  ie  firefox  test  javascript 
october 2010 by michaelfox
Install Apache/PHP/MySQL on Snow Leopard
In /etc/apache2/httpd.conf, uncomment this line:

LoadModule php5_module libexec/apache2/libphp5.so
Restart Apache

sudo apachectl restart
Fix a warning appearing in phpinfo()

Create /etc/php.ini and make it writable

cd /etc
sudo cp php.ini.default php.ini
sudo chmod 666 php.ini
php  mac  osx  development  environment  server  testing  apache  mysql  linux  system  install  compile 
october 2010 by michaelfox
Sean Coates blogs: php-5.2.5 on Leopard
development environment up and running (I did a clean install). After the jump, I'll outline the steps that I took to get a functioning Apache, PHP, MySQL installed. Sure, you could use the leopard-bundled Apache and PHP, but if you're like me, you generally upgrade PHP (and use weird extensions) a lot more often than Apple will upgrade it.

Built on Rasmus' birthday. How appropriate (-:

First, a couple things should be noted: I'm still without local SSL support on Apache. I've been in touch with the maintainer of apache2 on macports (who, coincidentally, is probably familiar to many of you due to his past work on the PHP project: James Cox), but I still don't have a solution. See this bug report for info. The second thing is that my colleague/client/boss/friend (wow.. that sounds like a dangerous combination!) Marco helped me out quite a bit with the initial leopard-friendly incantations to make things build.
php  mac  osx  development  environment  server  testing  apache  mysql  linux  system  install  compile 
october 2010 by michaelfox
HOWTO: Setup PHP, Apache and MySQL development environment on OS X Snow Leopard
UPDATED: Updated to use PHP 5.3.1 and with easier instructions for fixing PHP’s iconv linking problem via Apple’s iconv.patch file.

Although Mac OS X Snow Leopard (10.6) finally comes with current versions of open source software developers use, the default setup is not enough for our needs so we’ve compiled this easy to follow guide to setting up a PHP development environment including the following:
PHP 5.3
Apache 2.2
MySQL 5.1
As I mentioned, we needed to add a few things to the PHP install that Apple left out:
GeoIP
libjpeg
libpng
IMAP
libmcrypt
gettext
php  mac  osx  development  environment  server  testing  apache  mysql  linux  system  install  compile 
october 2010 by michaelfox
this, is boomerang
boomerang is a piece of javascript that you add to your web pages, where it measures the performance of your website from your end user's point of view. It has the ability to send this data back to your server for further analysis. With boomerang, you find out exactly how fast your users think your site is.
analytics  javascript  performance  testing  yahoo  tools  api  metrics  speed  analysis  browser  http  benchmark 
september 2010 by michaelfox
Testing with fragmented sections - Website Optimizer Help
# Google Website Optimizer Support/Help

## Testing with fragmented sections

Fragmented sections allow you to control your experiments so that certain variations always appear together, delivering more consistent page variations. With fragmented sections, you can classify multiple elements on your page as part of the same section -- when a specific variation of one element shows, a specific variation of another element will show. The result is greater coordination within your page and the exclusion of combinations that you suspect will not work.
google  abtesting  split  test  testing  fragments  javascript  gwo  website  optimizer  splittesting 
september 2010 by michaelfox
Form auto-fill bookmarklet / Stoyan's phpied.com
This is a bookmarklet. You go to page that has one or more forms and you click the bookmarklet. It completes the form for you with some random data. The whole thinking was to have a form ready to be submitted and generating as less validation errors as possible. Here are some details:

* All defaults are kept as they are
* All passwords fields are completed with the same password, in case there is a password/password confirmation combo. The default password is "secret"
* If a text field has the string "email" in its name, the auto-generated value would be a random string @ example.org
* If a text field has the string "name" in its name, a name-looking value will be generated.
* All checkboxes will be checked (who knows which one of them might be "Accept terms" or anything else that is required)
* Multi-selects will have a random number of random options selected
javascript  forms  firefox  autocomplete  development  tools  autofill  automation  testing  bookmarklets 
august 2010 by michaelfox
In a PHP project, how do you organize and access your helper objects? - Stack Overflow
I would avoid the Singleton approach suggested by Flavius. There are numerous reasons to avoid this approach. It violates good OOP principles. The google testing blog has some good articles on the Singleton and how to avoid it:

http://googletesting.blogspot.com/2008/08/by-miko-hevery-so-you-join-new-project.html http://googletesting.blogspot.com/2008/05/tott-using-dependancy-injection-to.html http://googletesting.blogspot.com/2008/08/where-have-all-singletons-gone.html

Alternatives

1) a service provider

http://java.sun.com/blueprints/corej2eepatterns/Patterns/ServiceLocator.html

2) dependency injection

http://en.wikipedia.org/wiki/Dependency_injection
and a php explanation:
http://components.symfony-project.org/dependency-injection/trunk/book/01-Dependency-Injection

This is a good article about these alternatives:

http://martinfowler.com/articles/injection.html

Implementing dependency injection (DI):

-I believe you should ask what is needed in the constructor for the object to function: new YourObject($dependencyA, $dependencyB);
-You can provide the needed objects (dependencies) manually ($application = new Application(new MessageHandler()). But you can also use a DI framework (the wikipedia page provides links to PHP DI frameworks). Important is that you only pass in what you actually use (call an action on), NOT what you simply pass to other objects because they need it. Here's a recent post from 'uncle Bob' (Robert Martin) discussing manual DI vs using framework.

Some more thoughts on Flavius's solution. I don't want this post to be an anti-post but I think it's important to see why dependency injection is, at least for me, better than globals. Even though it is not a 'true' Singleton implementation, I still think Flavius got it wrong. Global state is bad. Note that such solutions also use difficult to test static methods. I know a lot of people do it, approve it and use it. But reading Misko Heverys blog articles (a google testability expert), rereading it and slowly digesting what he says did alter the way I see design a lot. If you want to be able to test you application you'll need to adopt a different approach to designing your application. When you do test-first programming, you'll have difficulty with things like this: 'next I want to implement logging in this piece of code, let's write a test first that logs a basic message' and then come up with a test that forces you to write and use a global logger that can't be replaced. I am still struggling with all the information I got from that blog and it's not always easy to implement and I have many questions. But there's no way I can go back to what I did before (yes, global state and Singletons (big S)) after I grasped what Misko Hevery was saying :-)
php  testing  bestpractices  design  patterns  unittesting  dependency  injection  singleton 
july 2010 by michaelfox
jamesyu's cohorts at master - GitHub
Cohorts is a simple, purely javascript, multivariate testing framework.

It allows you to easily run split tests for visitors on your site, showing them different designs, layouts, or whatever you want. Cohorts also allows you to track interesting events that occur for each of the cohorts. By default, it uses Google Analytics event tracking to store data, but you can customize it to use your own or another.

Note that Cohorts will not do any analysis for you: it’s up to you to carefully consider analyze the data gathered to make business decisions.

Since the framework is purely javascript based, it’s especially useful if you’re working in an environment that has page and fragment caching.
javascript  testing  multivariate  test  analytics  library  splittesting 
june 2010 by michaelfox
Test (Sample) Data Generators
Sample / test data is an effective way to test web projects & applications. Other than meaningless data, real names, addresses, zip codes can make the whole testing stage easier.

WebResourcesDepot have collected some nice free test data generators which you may find useful:
data  database  design  development  generator  test  testing  sample  example  tools  webdev 
may 2010 by michaelfox
Deploying websites with Git | News | Phil Sturgeon
Back in 2008 I wrote an article describing how you can use Subversion as a very simple deployment method from your local box, through testing environments to your live servers. Since then I have been using Git to track all client work and personal projects, so I modified this approach to work with Git.

It sounds a little crazy to some people, but really deploying websites with a version control system makes a lot of sense. When you develop on your local box you can change any number of files throughout a codebase and trying to manually remember what files have been changed can be a pain in the nadgers.

You either need to use your VCS (Subversion, Git, Mercurial, etc) to give you a list of changes files so you can manually go around re-uploading each of them, but this can take a long time on a large application.
git  deployment  live  production  workflow  vcs  versioncontrol  deploy  testing  environment 
may 2010 by michaelfox
Google Fusion Tables Tour
Look at public data.
Get started with an interesting data set from the Table Gallery.

Import your own.
Upload data tables from spreadsheets or CSV files, even KML. Developers can use the Fusion Tables API to insert, update, delete and query data programmatically. You can export your data as CSV or KML too.

During our labs release, we can support up to 100MB per table, and up to 250MB per user.

Visualize it instantly.
See the data on a map or as a chart immediately. Columns with locations are interpreted automatically, and you can adjust them directly on a map if necessary. Use filter and aggregate tools for more selective visualizations.
data  google  visualization  datasets  testing 
may 2010 by michaelfox
Diagnose and Prevent AJAX Performance Issues - dynaTrace AJAX Edition
AJAX improves user experience by moving more code to the browser. Frameworks accelerate development, but lead to opaque application behavior and new performance issues.
dynaTrace AJAX Edition aims to solve these issues:

* Understand performance as real users experience it
* Differentiate between browser or server bottlenecks
* Trace asynchronous JavaScript executions for the full round-trip
* Analyze JavaScript, AJAX remoting, network and rendering performance in real-time
* Save performance data for interactive offline analysis
* Transform Selenium/Watir tests into performance tests and integrate them with your CI environment
ajax  ie  javascript  performance  profiling  testing  troubleshooting  debugging  windows  software  tools 
april 2010 by michaelfox
Regex Powertoy (interactive regular expressions)
Enter a regular expression in the top text area; matching occurs immediately. Double-click in this bottom area to enter target input to match. As soon as you tab, [esc], or click out of the bottom area, matching will begin. You can choose between Perl/PHP-like or Java regular expression syntax, and whether the target text is highlighted to show matches, edits, replacements, or splits. The 'animate' option lets you watch the regex engine at work. Creating a 'matchmark' sends your browser to a bookmarkable URI that will reproduce the current regex pattern, settings, and target text.
ajax  regex  regexp  tools  testing  text 
april 2010 by michaelfox
Acceptance Testing of Web Applications with PHP
In this article I introduce the topic of Acceptance Testing (aka Functional Testing), something more PHP programmers should be starting to practice. I'm sure many of us are well aware of Unit Testing and even Integration Testing so where does this third wheel come into play for web applications given our growing obsession with Web 2.0 and AJAX and how does it differ from the former two practices? Below I'll explain this. I will also introduce how to implement Acceptance Testing using the killer combination of PHPUnit and Selenium.
php  phpunit  selenium  testing  unittesting 
april 2010 by michaelfox
Contributed User-Extensions - Selenium - OpenQA Wiki
This page intends to be a repository for selenium extensions that may be useful to the community.

debug breakpoint, alert, extra info about failures, GUI Map, selectWindow, selenium-0.7-update, labelText, storeTableContent, locateCookie, locateElementByPartialId, getVal, eval, include, store...Global, storeXpath, verifyXpath, assertXpath, selectFrame, waitForCondition, test flow control, gotoIf, assertNoFailureOnNextAndGoto, updateFeedback, removeCookie, storeGetVars, callWebService, storeNamedCookie, storeHasCookie, waitAndActions, getTableRows, isOneOfPresent, flexTesting, datadriven, httpresource, fillform, assertEquals, assertTextPresetCount, assertNumericCompare, assertMetaRobotTags, reloadAndWaitFor* assertions, assertNamedCookie, assertHasCookie, assertTextPresentXML, inputIsEditable, qooxdooExtension,
selenium  unittesting  testing 
april 2010 by michaelfox
« earlier      

related tags

*todo  abtesting  accelerators  accessibility  acid  addons  agile  ajax  analysis  analytics  ant  apache  api  article  autocomplete  autofill  automatedtesting  automation  bandwidth  bdd  beautifier  beginner  benchmark  bestpractices  book  bookmarklet  bookmarklets  browser  browsers  bugreport  bugs  bugtracking  build  building  buildsystems  cache  caching  cart  checkout  cli  code  codeigniter  codesniffer  coding  collection  commandline  compatibility  compile  compiler  continuousintegration  coverage  crawler  creditcards  cruisecontrol  css  css3  csv  data  database  datasets  db  debug  debugger  debugging  dependency  deploy  deployment  design  detection  detector  development  documentation  dom  DTAP  dynamic  ebooks  ecommerce  editor  email  emulator  environment  event  example  examples  extension  feature  filesystem  firebug  firefox  firewall  fonts  foobar  forms  fragments  framework  freelancetools  generator  git  google  graph  gtm  gwo  gyro  hammerhead  howto  html  html5  http  ide  ids  ie  ie6  ie7  image  injection  inspiration  inspiration:documentation  install  integration  integrationtesting  ios  ipad  iphone  java  javascript  jquery  JSON  jstestdriver  leak  library  linux  list  live  load  loadtest  loadtime  lorem  mac  macos  markdown  markup  memory  memoryleak  metrics  microformats  microsoft  mobile  mock  monitor  multivariate  mysql  node  node.js  nodejs  online  oop  opensource  optimization  optimizer  optimizing  orientation  orm  os  osx  outline  parsing  patterns  pentest  performance  phing  php  phpt  phpundercontrol  phpunit  placeholder  plugin  production  profiling  programming  python  q  q.app  qa  qemu  qunit  rails  rc  reference  regex  regexp  remotecontrol  resources  responsive  rest  rhino  rotation  rwd  safari  sample  scraping  screenshot  screenshots  scripting  sdk  security  selenium  semantic  seo  server  serverside  service  setup  shell  simpletest  singleton  smtp  sniffing  snippets  soap  software  speed  split  splittesting  sql  staging  standard  status  stories  stresstest  stresstesting  svn  system  tdd  test  testing  text  textmate  tilt  toolkit  tools  troubleshooting  ttd  typography  ui  unit  unittest  unittesting  unobtrusive  usability  useragent  utilities  ux  vagrant  validation  validator  vc  vcs  versioncontrol  virtualbox  virtualization  visualization  vm  vmware  web  webapp  webdesign  webdev  webservices  website  webtool  window  windows  workflow  xinc  xss  yahoo  yslow  yui  zombiejs   

Copy this bookmark:



description:


tags: