Saturday, November 8, 2008

Software testing and Quality Assurance certifications

The software testers and quality assurance specialists can achieve now one (or more) of the testing/quality assurance certifications available. These Software testing certification are basically of 2 types: an exam type based (you'll need to pass an exam: e.g. ISTQB (International Software Testing Qualifications Board)) and an education based (you'll need to pass each course: e.g. IIST (International Institute for Software Testing)) )
Read below the list with the most popular testing certifications and see if you can find one suitable for you (the information displayed for each certification are the ones from their official sources):

- ISTQB Certified Tester, Foundation Level (CTFL) offered by the International Software Testing Qualification Board
CTFL is an exam-based certification, based on a Certified Tester - Foundation Level Syllabus (see http://www.istqb.org/downloads/syllabi/SyllabusFoundation.pdf).
Objectives for the CTFL:
The Foundation Level qualification is aimed at anyone involved in software testing. This includes people in roles such as testers, test analysts, test engineers, test consultants, test managers, user acceptance testers and software developers.
This Foundation Level qualification is also appropriate for anyone who wants a basic understanding of software testing, such as project managers, quality managers, software development managers, business analysts, IT directors and management consultants. Holders of the Foundation Certificate will be able to go on to a higher level software
testing qualification (more details on http://www.istqb.org)

- ISTQB Certified Tester, Advanced Level (CTAL) offered by the International Software Testing Qualification Board
CTAL is an exam-based certification, based on a Certified Tester - Advanced Level Syllabus (use http://www.istqb.org/downloads/syllabi/CTAL_Syllabus_V_2007.pdf).
Objectives for the CTAL :
The Advanced Level qualification is aimed at people who have achieved an advanced point in their careers in software testing.
This includes people in roles such as testers, test analysts, test engineers,
test consultants, test managers, user acceptance testers and software developers. This Advanced Level qualification is also appropriate for anyone who wants a deeper understanding of software testing, such as project managers, quality managers, software development managers, business analysts, IT directors and management consultants. To receive Advanced Level certification, candidates must hold the Foundation Certificate and satisfy the Exam Board which examines them t
hat they have sufficient practical experience to be considered Advanced Level qualified.
The courses ISTQB Advanced Level cover the following main areas:

- Advanced Level Test Manager ( the Advanced Level Test Management professionals should be able to:
define the overall testing goals and strategy for the systems being tested, plan, schedule and track the tasks, describe and organize the necessary activities, select, acquire and assign the adequate resources to the tasks, select, organize and lead testing teams, organize the communication between the members of the testing teams, and between the testing teams and all the other stakeholders, justify the decisions and provide adequate reporting information where applicable
- Advanced Level Test Analyst ( the Advanced Level Test Analysts should be able to: structure the tasks defined in the test strategy in terms of business domain requirements, analyze the system in sufficient detail to meet the user quality expectations,evaluate the system requirements to determine domain validity, prepare and execute the adequate activities, and report on their progress, provide the necessary evidence to support evaluations, implement the necessary tools and techniques to achieve the defined goals
- Advanced Level Technical Test Analyst ( the Advanced Level Technical Test Analysts should be able to: structure the tasks defined in the test strategy in terms of technical requirements, analyze the internal structure of the system in sufficient detail to meet the expected quality
level, evaluate the system in terms of technical quality attributes such as performance, security, etc, prepare and execute the adequate activities, and report on their progress, conduct technical testing activities, provide the necessary evidence to support evaluations, implement the necessary tools and techniques to achieve the defined goals (more details on http://www.istqb.org
)

- Certified Software Test Professional (CSTP) offered by the International Institute for Software Testing (IIST):
CSTP is an education-based certification, based on a Body of Knowledge that covers areas essential for every test professional to effectively perform their job in testing projects. Objectives of CSTP Certification: help individuals develop their software testing skills through formal education, establish a common skill set for software testing professionals according to a well-defined Body of Knowledge, create a pool of qualified software testing professionals, prepare candidates for a wider range of software testing assignments, complement company in-house and on-the-job training programs, provide professional recognition and career enhancement. There are two requirements that must be satisfied before the CSTP certification can be granted. These are: Formal Education Requirement and Job Experience Requirement (more details on http://www.testinginstitute.com/cstp.php )


- CATe offered by the International Institute for Software Testing (more details on http://www.testinginstitute.com

- Certified Test Manager (CTM) offered by the International Institute for Software Testing (IIST):
CTM is based on the Test Management Body of Knowledge (TMBOK) developed by IIST through its Advisory Board.

Objectives of CTM Certification:
The CTM Certification was developed to fill the gap in the management skills required by test managers and test leads to effectively manage the test process, the test project and the test organization. Specifically, CTM aims at achieving the following objectives: help individuals develop their test management skills through formal education, establish a common skill set for software test managers and test leads based on a well-defined Test Management Body of Knowledge (TMBOK), create a pool of qualified software test managers Prepare test professionals, especially those who achieved the Certified Test Professional (CSTP) designation for management and lead positions in software testing projects, provide professional recognition and career enhancement for those who manage test projects.

There are two requirements that must be satisfied before the CTM certification can be granted. These are: Formal Education Requirement and Job Experience Requirement (more details on http://www.testinginstitute.com/ctm.php)

- Certified Software Tester (CSTE) offered by the Quality Assurance Institute (QAI):
Objectives of CSTE Certification:
The Certified Software Tester (CSTE) certification is intended to establish standards for initial qualification and provide direction for the testing function through an aggressive educational program. Acquiring the designation of Certified Software Tester (CSTE) indicates a professional level of competence in the principles and practices of quality control in the IT profession. CSTEs become members of a recognized professional group and receive recognition of their competence by business and professional associates, potentially more rapid career advancement, and greater acceptance in the role as advisor to management.

To qualify for candidacy, each applicant must meet one of four prerequisites: a 4 year degree from an accredited college-level institution and 2 years experience in the information services field, a 3 year degree from an accredited college-level institution and 3 years experience in the information services field, a 2 year degree from an accredited college-level institution and 4 years experience in the information services field, six years experience in the information services field AND Are working, or have worked at any time within the prior 18 months, in the field within covered by the certification designation (more details on http://www.softwarecertifications.org/qai_cste.htm )

- ISEB offered by the Information Systems Examinations Board (see more on http://www.bcs.org/server.php?show=conWebDoc.2064 )
The following are the ISEB certification for software testing:
- Foundation Certificate in Software Testing
This certificate provides a good overview of the basics of software testing (more details on
http://www.bcs.org/server.php?show=nav.6942).
- Intermediate Certificate in Software Testing
This certificate is the next level of competency in software testing after foundation level. A pass in this certificate provides evidence that the candidate has proven analytical ability, having gained knowledge and practical skills in the key topics required for practicing software testing. (more details on
http://www.bcs.org/server.php?show=nav.001010002003021).
Practitioner Certificate in Test Management
This certificate is a high level qualification which examines knowledge and skills required for the management of Software Testing. It is the next level of competency in software testing after the ISEB intermediate level. A pass in this certificate provides evidence that the candidate has gained a high level of competency in topics specific to the management of software testing, having proven ability to analyse, synthesise and evaluate. (more details on http://www.bcs.org/server.php?show=nav.001010002003022)
Practitioner Certificate in Test Analysis
This certificate is a high level qualification which examines knowledge and skills required for the technical analysis of Software Testing. It is the next level of competency in software testing after the ISEB intermediate level. A pass in this certificate provides evidence that the candidate has gained a high level of competency in topics specific to the analysis of software testing, having proven ability to analysis, synthesis and evaluate.(
more details on http://www.bcs.org/server.php?show=nav.001010002003023)

- CBTS offered by the Brazilian Certification of Software Testing (ALATS) (more details on http://www.alats.org.br)

A similar list is described below for the Quality assurance certifications:


- CSQE offered by the American Society for Quality (ASQ)
Objectives of CSQE Certification: The Certified Software Quality Engineer understands software quality development and implementation, software inspection, testing, verification and validation; and implements software development and maintenance processes and methods (more details on http://www.asq.org/certification/software-quality-engineer/index.html).

- CQIA offered by the American Society for Quality (ASQ)
Objectives of CQIA Certification: The Certified Quality Improvement Associate has a basic knowledge of quality tools and their uses and is involved in quality improvement projects, but doesn't necessarily come from a traditional quality area (more details on http://www.asq.org/certification/quality-improvement-associate/index.html)

- CSQA offered by the Quality Assurance Institute (QAI) (more details on http://www.softwarecertifications.org)

Even if
some of these certifications may be a bonus when trying to get a job in the software testing/ quality assurance area, they can't measure an individual's productivity, their skill, or practical knowledge, and cannot guarantee their competence, or professionalism as a tester.

Friday, November 7, 2008

Software testing certifications - ISTQB reached 100000

The ISTQB Certified Tester program will soon become the most popular software testing certification.
Few words about ISTQB (see more details on their official link : http://www.istqb.org
) - it is a "program that provides certification for software testers internationally. There are currently two levels of certification: The Foundation Level and three separate Advanced Level certificates (ISTQB Certified Tester Foundation Level (CTFL) and ISTQB Certified Tester Advanced Level (CTAL)). For both levels, international working parties develop and maintain internationally uniform curricula and exams. One of the core principles of the program is a strict separation between the administration of exams and the training to those who would like to prepare for the exam in ISTQB compliant courses".
What is interesting is that they've already reached to a number of 100,000 Software Testing Professionals
ISTQB Certified, which I find to be a really great achievement (more details on http://www.istqb.org/october_24_2008.htm - BRUSSELS, BELGIUM (24 October 2008) – The International Software Testing Qualifications Board (ISTQB) announced that, through their National Boards and Exam Boards, they have granted more than 100,000 certifications at the ISTQB Certified Tester Foundation Level (CTFL) and ISTQB Certified Tester Advanced Level (CTAL). "ISTQB software tester certification is by far the most widely recognized and fastest-growing software tester certification in the world," said Rex Black, CTAL, president of ISTQB. “Reaching the 100,000 certification milestone validates ISTQB’s leadership in helping software testers to demonstrate their knowledge, skill and professionalism.” ISTQB certification traces its origins to the UK, where industry demand led to its development. “Software testing is critical to the reliable functioning of the world’s software systems. We realized that certification can help to improve the capability of those that test systems, while moving the profession forward,” explained Geoff Thompson of the UK Testing Board (UKTB). The appeal of ISTQB software testing certification quickly led to its expansion. Horst Pohlmann of the German Testing Board (GTB) continued, "Companies tell us they choose ISTQB certification because it is practical, focusing on the software testing knowledge and skills their testers need every day." In recent years, ISTQB has become a global standard for software testing certification. Vinay Baid of the Indian Testing Board (ITB) explained, “ISTQB software testing certification is now essential to software testing in India. As is true throughout much of the world, many employers prefer to hire ISTQB certified software testers or have a program that encourages their software testers to obtain ISTQB certification.” The rapid growth of ISTQB software testing certification can also be attributed to its not-for-profit nature. “Companies have found ISTQB certification to be credible because we freely offer the ISTQB certification syllabi and software testing glossary, and let you choose your own education,” said Patricia McQuaid, PhD, CTFL, president of the American Software Testing Qualifications Board (ASTQB). This not-for-profit quality extends to ISTQB’s leadership. The organization is composed of representatives from national boards throughout the world, all of whom are volunteers. ISTQB decides on the standards for certification and the national boards develop and maintain the country-specific examinations. “While we’re proud of our status as the leading global software testing certification, we won’t rest on our laurels,” said Black. “Companies look to ISTQB to help them deliver quality software, and software testers look to ISTQB to help them build their profession. ISTQB’s volunteer leadership is already developing the vision that will take software testing to a new level.”).

Sunday, November 2, 2008

The Cost of Software Errors

Which are the causes for the software errors? Well, we can enumerate a variety of reasons as to why errors occur during the software development: developers do mistakes, the requirements for the software are not clearly defined, the allocated time and bugetary have deadlines which can be hardly met (because more pressure will lead to more mistakes) , the communication inside the project is poor and need lot of improvements, the requireents changes are not documented as they should, the objectives are changed during the project lifecycle, etc. The pressure with time, budgetary constraints and deadlines are increasing the probability of making mistakes for the development project's members.
And the software errors are important for us because of their derived cost of errors. An error can lead to from a small cost to a huge one. For a wrong report (e.g. incorrect version of application or wrong displayed dates: dd-mm-yy instead of dd/mm/yy) the cost is little, because the impact of this error is minimal.
For an error which occur in a safety critical software, the cost can be huge or in extreme cases it may cost lives. E.g.:
- death resulted from inadequate testing of the London Ambulance Service software
- several 1985-7 deaths of cancer patients were due to overdoses of radiation resulting from a race condition between concurrent tasks in the Therac-25 software
- a China Airlines Airbus Industrie A300 crashes on April 26, 1994 killing 264
- the British destroyer H.M.S. Sheffield was sunk in the Falkland Islands war. According to one report, the ship's radar warning systems were programmed to identify the Exocet missile as "friendly" because the British arsenal includes the Exocet's homing device and allowed the missile to reach its target, namely the Sheffield, etc.
The cost of efects depends of the stage where the errors were detected (it increases proportionately with the passing of each successive stage in the development process before they are detected) . If an issue is detected early, in the requirement phase, then its correction will cost little (few dollars). But to correct a problem in the post-implementation phase may cost thousands of dollars.
The cost of correcting a defect during progressively later phases in the system development life cycle rises quickly, so it is generally accepted that the cost of fixing a defect will increase by a factor of ten for each successive project phase (user requirements -> functional specifcations -> technical specifications -> code -> unit -> system -> user acceptance testing).

Saturday, November 1, 2008

Recommended Testing Books - 5th list

...adding more recommended books, in this 5th list (use the Books label to find easily and read the previous 4 lists) :

31.
Jakob Nielsen and Hoa Loranger - Prioritizing Web Usability (use link)
Product Description:
In 2000, Jakob Nielsen, the world’s leading expert on Web usability, published a book that changed how people think about the Web—Designing Web Usability (New Riders). Many applauded. A few jeered. But everyone listened. The best-selling usability guru is back and has revisited his classic guide, joined forces with Web usability consultant Hoa Loranger, and created an updated companion book that covers the essential changes to the Web and usability today. Prioritizing Web Usability is the guide for anyone who wants to take their Web site(s) to next level and make usability a priority! Through the authors’ wisdom, experience, and hundreds of real-world user tests and contemporary Web site critiques, you’ll learn about site design, user experience and usability testing, navigation and search capabilities, old guidelines and prioritizing usability issues, page design and layout, content design, and more!


32. Steve Krug - Don't Make Me Think: A Common Sense Approach to Web Usability (2nd edition) (use link)
Product Description:
Five years and more than 100,000 copies after it was first published, it's hard to imagine anyone working in Web design who hasn't read Steve Krug's "instant classic" on Web usability, but people are still discovering it every day. In this second edition, Steve adds three new chapters in the same style as the original: wry and entertaining, yet loaded with insights and practical advice for novice and veteran alike. Don't be surprised if it completely changes the way you think about Web design.
Three New Chapters!
Usability as common courtesy -- Why people really leave Web sitesWeb Accessibility, CSS, and you -- Making sites usable and accessibleHelp! My boss wants me to ______. -- Surviving executive design whims
"I thought usability was the enemy of design until I read the first edition of this book. Don't Make Me Think! showed me how to put myself in the position of the person who uses my site. After reading it over a couple of hours and putting its ideas to work for the past five years, I can say it has done more to improve my abilities as a Web designer than any other book.
In this second edition, Steve Krug adds essential ammunition for those whose bosses, clients, stakeholders, and marketing managers insist on doing the wrong thing. If you design, write, program, own, or manage Web sites, you must read this book." -- Jeffrey Zeldman, author of Designing with Web Standards


33. B. M. Subraya - Integrated Approach to Web Performance Testing: A Practitioner's Guide (use link)
Product Description:
The performance testing of Web applications is not understood properly and no skill sets are available to address the challenges faced by practitioners. In addition, there is currently a lack of available research on the performance aspects of the application. "Integrated Approach to Web Performance Testing: A Practitioner's Guide" fills this void and provides an integrated approach and guidelines to performance testing of Web-based systems. Based upon a mix of theoretical and practical concepts, this book provides a detailed understanding of the various aspects of performance testing in relation to the different phases of the software development life cycle. Using a rich mixture of examples, checklists, and templates, this book illustrates the different facets of application performance. "Integrated Approach to Web Performance Testing: A Practitioner's Guide" applies a practical approach to making appropriate choices of tools, methodologies and project management for performance testing.


34. Stacy Joines, Ruth Willenborg, and Ken Hygh - Performance Analysis for Java(TM) Websites (use link)
Product Description:
Performance is a serious issue. A website must be able to handle the demands of users today, as well as adapt to increasing demands in the future. A website's responsiveness to customers has a direct effect on the success of an organization. Many developers struggle with the complex issues of website performance. This book is a timely guide for enterprise website developers and QA teams. The authors combine their experience analyzing and improving hundreds of websites and show how to conduct an effective performance analysis. They demonstrate how to solve common yet difficult problems, how to monitor tests, and analyze the data collected. Exploring common website types such as brokerage, e-commerce, and B2B, they discuss different performance needs, as well as how to design a performance test for each type of website. They use IBM WebSphere as the example Java application server, yet the content transfers easily to others such as BEA's popular WebLogic.


35. Anne Mette Jonassen Hass - Configuration Management Principles and Practice (Agile Software Development Series) (use link)
Product Description:
Configuration management (CM) is frequently misunderstood. This discipline is growing in popularity because it allows project participants to better identify potential problems, manage change, and efficiently track the progress of a software project. CM is not easy, but at the same time, it need not be difficult. This book gives the reader a practical understanding of the complexity and comprehensiveness of the discipline. Many current CM practitioners rely too heavily on commercial CM tools, and fail to understand the concept as a whole. With the deeper knowledge of CM principles taught in this book, readers will be better able to manage and deliver their next project. The book is included in the Agile Software Development Series because there is growing recognition that an effective configuration management strategy is the cornerstone of a truly agile project.


36. Tom Arnold - Professional Software Testing with Visual Studio 2005 Team System: Tools for Software Developers and Test Engineers (use link)
Product Description:
Visual Studio 2005 Team System (VSTS) features a robust, integrated suite of test tools that work seamlessly in the Visual Studio development environment Covering all phases of the development lifecycle, this book shows readers how to implement best practices for software testing using the appropriate components of VSTS Readers will learn how to use the tools effectively, directly from those who helped design and develop the software Shows how to catch common programming mistakes every time code is compiled, helping to shorten the time to market

37. Lasse Koskela - Test Driven: TDD and Acceptance TDD for Java Developers (use link)
Product Description:
In test driven development, you first write an executable test of what your application code must do. Only then do you write the code itself and, with the test spurring you on, you improve your design. In acceptance test driven development (ATDD), you use the same technique to implement product features, benefiting from iterative development, rapid feedback cycles, and better-defined requirements. TDD and its supporting tools and techniques lead to better software faster. Test Driven brings under one cover practical TDD techniques distilled from several years of community experience. With examples in Java and the Java EE environment, it explores both the techniques and the mindset of TDD and ATDD. It uses carefully chosen examples to illustrate TDD tools and design patterns, not in the abstract but concretely in the context of the technologies you face at work. It is accessible to TDD beginners, and it offers effective and less well known techniques to older TDD hands.
What's Inside
- Learn hands-on to test drive Java code
- How to avoid common TDD adoption pitfalls
- Acceptance test driven development and the Fit framework
- How to test Java EE components-Servlets, JSPs, and Spring Controllers
- Tough issues like multithreaded programs and data access code

38. Andreas Zeller - Why Programs Fail: A Guide to Systematic Debugging (use link)
Product Description:
Why Programs Fail is about bugs in computer programs, how to find them, how to reproduce them, and how to fix them in such a way that they do not occur anymore. This is the first comprehensive book on systematic debugging and covers a wide range of tools and techniques ranging from hands-on observation to fully automated diagnoses, and includes instructions for building automated debuggers. This discussion is built upon a solid theory of how failures occur, rather than relying on seat-of-the-pants techniques, which are of little help with large software systems or to those learning to program. The author, Andreas Zeller, is well known in the programming community for creating the GNU Data Display Debugger (DDD), a tool that visualizes the data structures of a program while it is running.
- Winner of a 2006 Jolt Productivity Award for Technical Books
- Shows how to reproduce software failures faithfully, how to isolate what is important about the failure, and to discover what caused it
- Describes how to fix the program in the best possible way, and shows how to create your own automated debugging tools
- Includes exercises and extensive references for further study, and a companion website with source code for all examples and additional debugging resources


39. Gerald D. Everett and Raymond, Jr. McLeod - Software Testing: Testing Across the Entire Software Development Life Cycle (use link)
Product Description:
Software Testing presents one of the first comprehensive guides to testing activities, ranging from test planning through test completion for every phase of software under development, and software under revision. Real life case studies are provided to enhance understanding as well as a companion website with tools and examples.


40. Vesna Hassler - Security Fundamentals for E-Commerce (use link)
Product Description:
This handbook offers an in-depth understanding of basic security problems and relevant solutions for those charged with maintaining the security of e-commerce sites. From designing secure Web, e-commerce and mobile commerce applications, to securing your internal network, to providing secure employee/user authentication, this book is structured to provide a comprehensive overview or help the reader pinpoint topics of immediate concern.


Recommended Testing Books - 4th list

...extending the recommended books with the 4th list (use the Books label to find easily and read the previous 3 lists) :

23. Luciano Baresi and Elisabetta Di Nitto - Test and Analysis of Web Services (use link)
Product Description:
The service-oriented approach has become more and more popular, now allowing highly integrated and yet heterogeneous applications. Web services are the natural evolution of conventional middleware technologies to support Web-based and enterprise-level integration. The highly dynamic characteristics of service-oriented applications means their validation is a continuous process that often runs in parallel with execution. It is not possible to clearly distinguish between the predeployment validation of a system and its use, nor is it possible to guarantee that the checks passed at a certain time will be passed at a later time and in the actual execution environment as well. Baresi and Di Nitto have put together the first reference on all aspects of testing and validating service-oriented architectures, taking into account these inherent intricacies. The contributions by leading academic and industrial research groups are structured into four parts on: static analysis to acquire insight into how the system is supposed to work; testing techniques to sample its actual behavior; monitoring to probe its operational performance; and nonfunctional requirements like reliability and trust. This monograph is an initial source of knowledge for researchers in both academia and industry in the field of service-oriented architecture validation and verification approaches. They will find a comprehensive survey of state-of-the-art approaches as well as techniques and tools to improve the quality of service-oriented applications


24. Mark Fewster, Dorothy Graham - Software Test Automation (use link)
Product description:
Most importantly, this book debunks the myth that testing tools alone will automate the testing process successfully. It does a good job of showing the limitations of today's testing tools. Instead of providing quick fixes, the authors show that with proper planning, you can design and reuse test scripts in addition to automating many aspects of the testing process (such as comparing actual and expected results). With chapters on designing test scripts, creating a testing architecture that will allow you to reuse test cases, and even documentation on choosing the right testing tool for your needs, this book is filled with plenty of nuts-and-bolts advice. Later the authors explain software metrics for tracking defects and how to phase in automated testing for the real-world organization (with a good eye for your shop's return on investment). The book closes with over a dozen case studies from the field, in which testing professionals from large companies (including Microsoft) relate their successes (and failures) with real-world test automation. Accessibly written and filled with real-world expertise, Software Test Automation provides a worthy resource for any test engineer on the effective implementation of automated software testing


25. David J. Smith - Reliability, Maintainability and Risk (use link)

Product Description:
For over 30 years, Reliability, Maintainability and Risk has been recognised as a leading text for reliability and maintenance professionals. Now in its seventh edition, the book has been updated to remain the first choice for professional engineers and students. The seventh edition incorporates new material on important topics including software failure, the latest safety legislation and standards, product liability, integrity of safety-related systems, as well as delivering an up-to-date review of the latest approaches to reliability modelling, including cutsec ranking. It is also supported by new detailed case studies on reliability and risk in practice.
* The leading reliability reference for over 30 years
* Covers all key aspects of reliability and maintenance management in an accessible way with minimal mathematics - ideal for hands-on applications
* Four new chapters covering software failure, safety legislation, safety systems and new case studies on reliability and risk in practice


26. Herbert Hecht- Systems Reliability and Failure Prevention (use link)
Product Description:
Offers a comprehensive treatment of the techniques and practices of systems reliability and failure prevention, without the use of advanced mathematics. Features real-world examples from communication networks, aircraft and missile systems, the process industry, and satellite missions.


27. Wilbert O. Galitz - The Essential Guide to User Interface Design: An Introduction to GUI Design Principles and Techniques (use link)
Product Description:
Bringing together the results of more than 300 new design studies, an understanding of people, knowledge of hardware and software capabilities, and the author’s practical experience gained from 45 years of work with display-based systems, this book addresses interface and screen design from the user’s perspective. You will learn how to create an effective design methodology, design and organize screens and Web pages that encourage efficient comprehension and execution, and create screen icons and graphics that make displays easier and more comfortable to use.


28. Eric Schaffer - Institutionalization of Usability: A Step-by-Step Guide (use link)
Product description:
Institutionalization of Usability shows how to make user-centered design and development a routine practice within an enterprise. Other excellent books explain precisely how to make software usable; this book builds on that foundation, and focuses instead on how to get usability recognized and incorporated into an organization's values and culture. Based on author Eric Schaffer's extensive experience, the book provides a solid methodology for institutionalizing usability, guiding readers step by step with practical advice on topics like organizational change, milestones, toolsets, infrastructure, and staffing requirements needed to achieve fully mature usability engineering. Learn how to:
- Educate your organization about the importance of usability Hire and coordinate usability staff and consultants
- Plan the standards, design, and implementation phases
- Retrofit a method that has added user-centered activitiesRecruit participants for usability interviews and testing
- Select the right staff and project to showcase—by timeline, user impact, and visibility
- Evangelize, train and mentor staff, and support the community
Whether you are an executive leading the institutionalization process, a manager supporting the transition, or an engineer working on usability issues, Institutionalization of Usability will help you to build usability into your software practices.

29. Everett N. McKay - Developing User Interfaces Microsoft for Windows (use link)
Product Description:
Create better user interfaces by designing from the outside in. How important is user interface design? A poorly executed interface can frustrate users - and cost your organization time and money - while an effective design can improve productivity by helping users get their work done. So what makes good interfaces good and bad interfaces bad? Which design choices can improve the user's experience with a program? Emphasizing practical results over theory, this concise, Windows-focused handbook distills industry best practices and the author's 25 years of software development expertise into straightforward and effective methods you can apply right now to create more usable user-driven software. Coverage includes: Basic concepts of user interface (UI) design - knowing the standards; establishing consistency Practical development techniques - specific ways to improve the UI for applications built with the Win32 API or MFC Understanding the user experience - putting the goals of the user ahead of yours; focusing your creativity the "right" way Windows user interface components - mastering the fundamentals; making appropriate choices Testing and evaluation - ensuring software quality and usability

30. James McCaffrey - .NET Test Automation Recipes: A Problem-Solution Approach (use link)
Product Description:
If you develop, test, or manage .NET software, you will find .NET Test Automation Recipes: A Problem-Solution Approach very useful. The book presents practical techniques for writing lightweight software test automation in a .NET environment and covers API testing thoroughly. It also discusses lightweight, custom Windows application UI automation and teaches you low-level web application UI automation. Additional material covers SQL stored procedure testing techniques. The examples in this book have been successfully used in seminars and teaching environments where they have proven highly effective for students who are learning intermediate-level .NET programming. Youll come away from the book knowing how to write production-quality combination and permutation methods.