Archive for the ‘Software Testing’ Category
Minimize Security Flaws Using Google's Skipfish
Thursday, April 8th, 2010Open Source Application
Skipfish is an open source scanner written in C language used to detect vulnerabilities in web applications. Users can compile the code and execute it for installation. Skipfish crawls through the web application, detects the security probes and generates a report for security assessments.
TestSwarm – JavaScript Testing Made Simple
Tuesday, October 6th, 2009Here’s glad news for web developers from Mozilla Labs. There is now a quick and easy way to test your JavaScript code on multiple browsers. TestSwarm, the new Mozilla Labs project aims to ease developers’ pain by providing distributed continuous integration testing for JavaScript.
However, at this moment, TestSwarm is still in alpha testing.
NOTE: “During this alpha period data may be lost or corrupted and clients may be unexpectedly disconnected.”
The TestSwarm project was initially started by John Resig as a tool to support the jQuery project and it later moved to become an official Mozilla Labs project. According to John, one of the main reasons on why he pursued this project is because the present day’s cross browser Javascript testing methods do not scale. TestSwarm is expected to greatly simplify the complicated and time-consuming process of running JavaScript test suites in multiple browsers.
TestSwarm currently supports 7 operating systems (Windows, Mac OS X and Linux) and runs its tests on all the major browsers from Mozilla to Konqueror. TestSwarm provides a great visual interface to display the test results. Detailed data about what exactly went wrong is provided which helps to rectify the problem too. This makes a developer’s job easier to keep JavaScript libraries compatible with most web browsers.
Currently, TestSwarm is provided as a service to test few popular JavaScript libraries including jQuery, YUI, Dojo, MooTools, and Prototype. You can also download the source code and install TestSwarm on your own servers if you want to use it for your own project.
To know more, watch this screencast on how TestSwarm works. Additional information is available on John’s blog and the TestSwarm site.
Software Testing Tips
Wednesday, April 29th, 2009Do you know that software testing can be an art? Being able to evaluate the capability of a system or application and ensuring it meets with client requirement involves a certain amount of craftsmanship.
This could be a dull chore where you simply perform ad hoc testing or a challenging experience that involves a good deal of planning and designing before testing.
Here are 10 tips that can help to develop good quality software that works according to specifications.
1. Understand the application: How can you test if you do not know if the application is functioning as designed or if a functionality is missing? You first need to understand and have a good knowledge of the software before you start testing. Understand what the software can do, what external resources it uses to do it, its major behaviors and how it interacts with its environment. This knowledge would help you write effective test cases.
2. Start with a plan: Strong testing begins with a good test plan. You need to come up with a good strategy that defines your requirements in terms of tests. This means knowing what you need to test, what constitutes a bug and how to prioritize your work according to associated risks.
3. Write effective test cases: A combination of domain knowledge, prior experience and good writing skills help you to write good test cases. Your test cases should be understandable and repeatable that explains the intention of the tests and the expected results.
4. Ensure maximum coverage: You can never guarantee 100% coverage but you can ensure that every requirement is covered by at least one test case. You can also break your application under test into smaller modules and write individual test cases for each module. This would ensure maximum test coverage.
5. Start early: Writing your test cases in the requirement analysis and design phase ensures that all requirements are testable. Bugs detected early in the development process are also considered cheaper to fix.
6. Give access to developers: It’s a good idea to give developers access to your test cases before they begin coding. This helps them to understand and analyze your test cases completely and develop good quality software. It also helps them save time on re-working.
7. Test with the right attitude: No software is bug-free. So, test with the intention of finding bugs and you will definitely succeed in finding some. Testing should ensure that the application does what it should and doesn’t do what it should not.
8. Record test results: Besides writing test cases, you should record your test results and provide solutions. This data helps when you do regression testing as probable bugs in the application can now be easily predicted.
9. Test for performance: Many testers tend to ignore performance testing when the volume of data is large. However, testing for performance is very important and you need to find ways to test your application for performance even if it means writing just basic scripts to create test data performance test.
10. Remove changes in code base after testing: For testing, changes are made to the code base. Don’t forget to note down these changes and remove them from the code base before final release.
To summarize, no matter how much testing you perform, you can never guarantee a bug free application. What you can ensure is that the basic and crucial functions of the application work well and your customer is happy with the software you deliver.