Create a 16 x 16 icon. Name it "favicon.ico". Place it in your root folder.
That's all.
Note that the icon is only downloaded the first time a user visits your web page. Thus, if you cannot test view the icon initially after placing it...then clear your browser cache and try again...it will work.
Note that you can also embed a 32 x 32 icon in the same file as the 16 x 16 for clearer decktop shortcuts and favorites.
Wednesday, April 21, 2010
Tuesday, April 20, 2010
Beta Release of MSSQL.DataMask
I've been buried for 3 months spending all spare time creating MSSQL.DataMask. Just released it in beta for feedback. Will go through several weeks of testing and bug fixing.
Download from: http://www.wintestgear.com/products/MSSQLDataMask/MSSQLDataMask.html
Description: If you need rich test data to develop, test, or outsource your project, you've probably tried either generating from scratch, or cloning from production data. Auto-generating the test data is difficult and error prone for all but the simplest databases due to complex variances, frequencies, and data interdependencies. Business and legal obligations such as HIPAA require that production data clones be thoroughly sanitized of protected personal or health information.
MSSQL.DataMask is a simple, free tool that will quickly sanitize a clone of your production database into a safe, secure test database. Once built, the process is easily repeatable to refresh your test data from production. You can either load and re-run a set of data masks from the application, or generate a fully documented tSQL script to modify, run, or schedule as your needs dictate.
Scrub: Overwrite all rows of a column with the "same value"
• Scrub.Null: Overwrite with null
• Scrub.EmptyString: Overwrite with empty string ("")
• Scrub.FixedString: Overwrite with a text you enter
• Scrub.Zero: Overwrite with zero (0)
• Scrub.FixedNumber: Overwrite with a number you enter
• Scrub.FixedDate: Overwrite with a date/time you enter
Substitute: Overwrite all rows of a column with a "unique value"
• Substitute.LoremGibberish: Overwrite with a random lorem ipsum gibberish text (retains original size)
• Substitute.GUID: Overwrite with a random GUID (16-character text only)
• Substitute.RandomNumber: Overwrite with a random number between min/max points you specify
• Substitute.RowNumber: Overwrite with a row number (and text you specify if n/varchar)
• Substitute.FromList: Overwrite with a random selection from value list you specify
Transform: Overwrite all rows of a column with an "obsfucated original value"
• Transform.Scramble: Overwrite with scrambled original value (encrypt, then truncate at initial length)
• Transform.Hash: Overwrite with hashed original value (MD5, always 16-bytes)
• Transform.Prefix/Suffix: Prefix and suffix original value (with text you specify, can leave blank)
• Transform.Find/Replace: Find & Replace text within original value (you enter find/replace text)
• Transform.AsteriskMask: Overwrite first (n) characters with asterisks (like credit card statements)
• Transform.ShuffleRecords: Randomly shuffle all rows within column (my favorite for most test data)
• Transform.NumericVariance: Randomly de/increment original numeric value by percent you select
• Transform.DateVariance: Randomly de/increment original date value by number days you select
• Transform.DateTimeVariance: Randomly de/increment original date & time values by your selections
• Transform.Truncate: Cutoff original value at character length you specify
Download from: http://www.wintestgear.com/products/MSSQLDataMask/MSSQLDataMask.html
Description: If you need rich test data to develop, test, or outsource your project, you've probably tried either generating from scratch, or cloning from production data. Auto-generating the test data is difficult and error prone for all but the simplest databases due to complex variances, frequencies, and data interdependencies. Business and legal obligations such as HIPAA require that production data clones be thoroughly sanitized of protected personal or health information.
MSSQL.DataMask is a simple, free tool that will quickly sanitize a clone of your production database into a safe, secure test database. Once built, the process is easily repeatable to refresh your test data from production. You can either load and re-run a set of data masks from the application, or generate a fully documented tSQL script to modify, run, or schedule as your needs dictate.
Scrub: Overwrite all rows of a column with the "same value"
• Scrub.Null: Overwrite with null
• Scrub.EmptyString: Overwrite with empty string ("")
• Scrub.FixedString: Overwrite with a text you enter
• Scrub.Zero: Overwrite with zero (0)
• Scrub.FixedNumber: Overwrite with a number you enter
• Scrub.FixedDate: Overwrite with a date/time you enter
Substitute: Overwrite all rows of a column with a "unique value"
• Substitute.LoremGibberish: Overwrite with a random lorem ipsum gibberish text (retains original size)
• Substitute.GUID: Overwrite with a random GUID (16-character text only)
• Substitute.RandomNumber: Overwrite with a random number between min/max points you specify
• Substitute.RowNumber: Overwrite with a row number (and text you specify if n/varchar)
• Substitute.FromList: Overwrite with a random selection from value list you specify
Transform: Overwrite all rows of a column with an "obsfucated original value"
• Transform.Scramble: Overwrite with scrambled original value (encrypt, then truncate at initial length)
• Transform.Hash: Overwrite with hashed original value (MD5, always 16-bytes)
• Transform.Prefix/Suffix: Prefix and suffix original value (with text you specify, can leave blank)
• Transform.Find/Replace: Find & Replace text within original value (you enter find/replace text)
• Transform.AsteriskMask: Overwrite first (n) characters with asterisks (like credit card statements)
• Transform.ShuffleRecords: Randomly shuffle all rows within column (my favorite for most test data)
• Transform.NumericVariance: Randomly de/increment original numeric value by percent you select
• Transform.DateVariance: Randomly de/increment original date value by number days you select
• Transform.DateTimeVariance: Randomly de/increment original date & time values by your selections
• Transform.Truncate: Cutoff original value at character length you specify
Saturday, January 30, 2010
Test Case Manager Lite
Do you develop and test software...if so you may often run into these questions...
1. Are we ready to ship?
2. How much longer will it take to test?
3. If we release now, what is our exposure (lack of test coverage)?
4. Are we systematically regression testing existing functionality, or adhoc testing differently each time?
5. Are we capturing every bug in a test case to prevent recurrence?
6. How is our quality trending from test cycle to test cycle?
7. Do we have proven written test cases on which to start automating?
Just released TCMLite as a free, simple, highly configurable test case management tool enabling you to better answer these questions. Use TCMLite to design, write, and execute your test cases. Your entire test team can concurrently access the same test case repository (XLS file) using Excel's "shared workbooks" feature (Help section 1.4).
1. Are we ready to ship?
2. How much longer will it take to test?
3. If we release now, what is our exposure (lack of test coverage)?
4. Are we systematically regression testing existing functionality, or adhoc testing differently each time?
5. Are we capturing every bug in a test case to prevent recurrence?
6. How is our quality trending from test cycle to test cycle?
7. Do we have proven written test cases on which to start automating?
Just released TCMLite as a free, simple, highly configurable test case management tool enabling you to better answer these questions. Use TCMLite to design, write, and execute your test cases. Your entire test team can concurrently access the same test case repository (XLS file) using Excel's "shared workbooks" feature (Help section 1.4).
Saturday, January 16, 2010
Best of the Best Software Testing Articles
Here are some of the best testing articles I've come across over the years...
- How Do You Know When You Are Done Testing? article
- James Bach's Test Automation Snake Oil article
- IBM 28 best Practices for software testing
- Brian Marick's Classic Testing Mistakes article
- Brian Marick's Failure Improvement...how to refine a bug article
- James Bach's What is Exploratory Testing? article
- Wikipedia for a great overview of Software Testing
Tuesday, January 12, 2010
How do I quickly get record counts for all MSSQL tables?
Frequently when testing, you will need a quick way to get record counts for all tables in a given database. For example, you can take before and after snapshots of all tables' record counts to quickly ensure the proper work was done on the right tables.
The following two-line SQL statement will automatically generate a much larger, custom-built SQL script that can be copied and executed to fetch counts for all tables in the target database.
The following two-line SQL statement will automatically generate a much larger, custom-built SQL script that can be copied and executed to fetch counts for all tables in the target database.
Monday, January 11, 2010
How do I quickly get MSSQL table sizes?
Frequently when testing, you will need a quick way to get the size (in kilobytes) for all tables in a given database. For example, you can take before and after snapshots of all tables' sizes to quickly ensure the proper work was done on the right tables.
Sunday, January 10, 2010
How do I flush the MSSQL cache for performance testing?
When performance tuning, you often follow a cycle of changing the tSQL, running it in query analyzer, jotting down the new execution time...and repeating the cycle again and again to reduce the time.
Because MSSQL caches results, your performance timings can be inaccurate. For example, the first run does the work and takes say 35 seconds. All subsequent runs might take 1 second or less because they are not doing any work. The subsequent runs are simply fetching the previously cached results.
Because MSSQL caches results, your performance timings can be inaccurate. For example, the first run does the work and takes say 35 seconds. All subsequent runs might take 1 second or less because they are not doing any work. The subsequent runs are simply fetching the previously cached results.
Saturday, January 9, 2010
Free Tool for Comparing MSSQL Databases
There is frequently a need to compare two databases when developing or testing a data-driven application.
You'll want answers to questions:
You'll want answers to questions:
- Did a table change?
- Did some fields get added, deleted, renamed, or have a type change?
- Did views or triggers or indexes get modified or added?
- Did source code inside a stored procedure change?
- Is the testing schema different from the development schema?
- Have there been any changes in the development schema since last week?
Saturday, January 2, 2010
Oops, I've Been Breaking Many .NET Coding Standards!
Back in the classic VB3-6/VBA days, I heavily used hungarian notation as it was the naming convention standard. Assumed I should continue following the same standard when naming my objects in .NET. Found out this is wrong and that I've been violating several .NET / C# best practices.
Friday, January 1, 2010
Wait! Don't throw out that old computer that won't boot
Wednesday, December 30, 2009
Nothing Like a Good Post Mortem
Over the years, I have attended good post mortems...and not-so-good post mortems. Good post mortems tended to always have an agenda emailed out first, the feedback collated, good meeting guidelines, and a meeting that stays on topic.
I've incrementally improved the following links over the years. Hope you find these templates useful:
1. Post Mortem Template
2. Post Mortem Meeting Agenda
I've incrementally improved the following links over the years. Hope you find these templates useful:
1. Post Mortem Template
2. Post Mortem Meeting Agenda
Sunday, December 27, 2009
Why Is Our Site So Slow For Just One Customer?
Subscribe to:
Posts (Atom)