Saturday, August 23, 2008

Software Testing Interview Tips : Defect Severity and Priority

Severity refers to the impact or consequence of the bug.
Priority indicates when your company want the bug to be fixed.

Severity doesn't change unless you learn more about hidden consequences. Priorities change as a project progresses. Generally , more severe problems are higher priority to fix, and minor and cosmetic problems are low priority. However they are not the same. Severe problems may not be worth fixing - for example, suppose that you find a bug that will corrupt any new record that is created before December 1999. This would have been a high priority bug a couple of years ago (when December 1999 was still a date in the future), its still serious, but many companies would no longer fix it.

On the other hand, a start up splash screen with your company logo backwards and the name misspelled is purely a cosmetic problem. However, most companies would treat it as a high priority bug and fix it before releasing the product.

Friday, July 25, 2008

Software Testing Interview Tips : Technology Basics

If you are attending interviews for software testing (test manager , director , engineer) its better to know the basics of some of the technologies. Few lessons from W3schools.
  1. XML - http://www.w3schools.com/xml/default.asp
  2. DTD - http://www.w3schools.com/dtd/default.asp
  3. XPATH - http://www.w3schools.com/xpath/default.asp
  4. TCP/IP - http://www.w3schools.com/tcpip/default.asp
  5. AJAX - http://www.w3schools.com/ajax/default.asp
  6. Web Services - http://www.w3schools.com/webservices/default.asp
  7. WSDL
  8. SOAP
  9. Unix Basics
  10. Unix Tools
  11. Node.js® is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

    In computer science, asynchronous I/O, or non-blocking I/O is a form of input/output processing that permits other processing to continue before the transmission has finished.



    jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript.

    dust.js
    Dust is a JavaScript templating engine designed to provide a clean separation between presentation and logic without sacrificing ease of use. It is particularly well-suited for asynchronous and streaming applications.

    Twitter Bootstrap is a front end framework to develop web apps and sites fast. In modern web development, there are several components which are required in almost all web projects. Bootstrap provides you with all those basic modules - Grid, Typography, Tables, Forms, Buttons and Responsiveness. Besides, there are plethora of other useful front end components like Dropdowns, Navigation, Modals, Typehead, Pagination, Carousal, Breadcrumb, Tab, Thumbnails, Headers etc. With these you can make a web project up and running quickly and easily.
     

Monday, July 7, 2008

Software Testing Interview Tips : Scalability,Performance,load,stress testing

  • Scalability: In telecommunications and software engineering, scalability is a desirable property of a system, a network, or a process, which indicates its ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged.For example, it can refer to the capability of a system to increase total throughput under an increased load when resources (typically hardware) are added. It is a highly significant issue in electronics systems, database, routers, and networking. A system whose performance improves after adding hardware, proportionally to the capacity added, is said to be a scalable system. An algorithm, design, networking protocol, program, or other system is said to scale if it is suitably efficient and practical when applied to large situations (e.g. a large input data set or large number of participating nodes in the case of a distributed system). If the design fails when the quantity increases then it does not scale.
    A scalable online transaction processing system or database management system is one that can be upgraded to process more transactions by adding new processors, devices and storage, and which can be upgraded easily and transparently without shutting it down.

    Scalability Best Practices: Lessons from eBay