Cem Kaner

Last updated

Cem Kaner is a professor of software engineering at Florida Institute of Technology, and the Director of Florida Tech's Center for Software Testing Education & Research (CSTER) since 2004. He is perhaps best known outside academia as an advocate of software usability and software testing.

Contents

Prior to his professorship, Kaner worked in the software industry beginning in 1983 in Silicon Valley "as a tester, programmer, tech writer, software development manager, product development director, and independent software development consultant." In 1988, he and his co-authors Jack Falk and Hung Quoc Nguyen published what became, at the time, "the best selling book on software testing," Testing Computer Software. [1] He has also worked as a user interface designer.

In 2004 he cofounded the non-profit Association for Software Testing. [2]

Education

Kaner received a Bachelor's Degree from Brock University in 1974, having focused on mathematics and philosophy. He went on to receive a Ph.D. in experimental psychology from McMaster University in 1984, with a dissertation in the area of psychophysics (the measurement of perceptual experiences). He later attended Golden Gate University Law School, with a primary interest in the law of software quality, graduating with a J.D. in 1994.

Consumer and Software Quality Advocacy

Kaner worked as a part-time volunteer for the Santa Clara, California Department of Consumer Affairs, investigating and mediating consumer complaints. In the 1990s, he got trial experience working as a full-time volunteer Deputy District Attorney, and later counselled independent consultants, technical book writers, and independent test labs on contract and intellectual property issues as an attorney. [1] He also did legislative work as a consumer protection advocate, including participation in the drafting of the Uniform Computer Information Transactions Act (as an advocate for customers and small software development firms), and the Uniform Electronic Transactions Act, and he participated in the United States Department of State's Advisory Committee on Private International Law: Study Group on Electronic Commerce. In 1999, he was elected to the American Law Institute, after being in practice for only five years. [3]

This experience led him, in collaboration with David Pels, to publish Bad Software: What To Do When Software Fails in 1997. This book was intended "to help people who had bought a defective computer program, with advice on troubleshooting their own problems, interacting with technical support, reporting problems to consumer protection agencies, bringing a lawsuit in small claims court, and if necessary, hiring a lawyer to bring a formal lawsuit." [1]

Publications

Books

Articles

Related Research Articles

Software testing is an investigation conducted to provide stakeholders with information about the quality of the software product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include the process of executing a program or application with the intent of finding failures, and verifying that the software product is fit for use.

John Tukey American mathematician

John Wilder Tukey was an American mathematician and statistician, best known for the development of the Fast Fourier Transform (FFT) algorithm and box plot. The Tukey range test, the Tukey lambda distribution, the Tukey test of additivity, and the Teichmüller–Tukey lemma all bear his name. He is also credited with coining the term 'bit' and the first published use of the word software.

Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes.


System testing is testing conducted on a complete integrated system to evaluate the system's compliance with its specified requirements.

In software engineering, a test case is a specification of the inputs, execution conditions, testing procedure, and expected results that define a single test to be executed to achieve a particular software testing objective, such as to exercise a particular program path or to verify compliance with a specific requirement. Test cases underlie testing that is methodical rather than haphazard. A battery of test cases can be built to produce the desired coverage of the software being tested. Formally defined test cases allow the same tests to be run repeatedly against successive versions of the software, allowing for effective and consistent regression testing.

Exploratory testing is an approach to software testing that is concisely described as simultaneous learning, test design and test execution. Cem Kaner, who coined the term in 1984, defines exploratory testing as "a style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the quality of his/her work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project."

Game testing, a subset of game development, is a software testing process for quality control of video games. The primary function of game testing is the discovery and documentation of software defects. Interactive entertainment software testing is a highly technical field requiring computing expertise, analytic competence, critical evaluation skills, and endurance. In recent years the field of game testing has come under fire for being extremely strenuous and unrewarding, both financially and emotionally.

Certification Formal confirmation of certain characteristics of an object, person or organization

Certification is the formal attestation or confirmation of certain characteristics of an object, person, or organization. This confirmation is often, but not always, provided by some form of external review, education, assessment, or audit. Accreditation is a specific organization's process of certification. According to the U.S. National Council on Measurement in Education, a certification test is a credentialing test used to determine whether individuals are knowledgeable enough in a given occupational area to be labeled "competent to practice" in that area.

The Association for Software Testing, commonly referred to as the AST, is dedicated to advancing the understanding of the science and practice of software testing according to context-driven principles. AST's membership consists of scholars, students and practitioners who are interested in the advancement of the field of software testing. The group was founded in the United States in 2004 by Cem Kaner.

Functional testing is a quality assurance (QA) process and a type of black-box testing that bases its test cases on the specifications of the software component under test. Functions are tested by feeding them input and examining the output, and internal program structure is rarely considered. Functional testing is conducted to evaluate the compliance of a system or component with specified functional requirements. Functional testing usually describes what the system does.

There is considerable variety among software testing writers and consultants about what constitutes responsible software testing. Prominent members of the Context-Driven School of Testing consider much of the writing about software testing to be doctrine, mythology, and folklore. Some contend that this belief directly contradicts standards such as the IEEE 829 test documentation standard, and organizations such as the Food and Drug Administration who promote them. The Context-Driven School's retort is that Lessons Learned in Software Testing includes one lesson supporting the use IEEE 829 and another opposing it; that not all software testing occurs in a regulated environment and that practices appropriate for such environments would be ruinously expensive, unnecessary, and inappropriate for other contexts; and that in any case the FDA generally promotes the principle of the least burdensome approach.

In software engineering, tester-driven development, or bug-driven development, is an anti-pattern where the requirements are determined by bug reports or test results rather than, for example, the value or cost of a feature. The concept is generally invoked facetiously, and comes with the implication that high volumes of computer code are written with little regard for unit testing by the programmers.

Rex Black is a software engineer, entrepreneur and an author in the field of software testing. Black graduated from the University of California at Los Angeles (UCLA) in 1990 with a bachelors of science in computer science and engineering. In 1983, Black started work in the software engineering field and has spent more than 20 years in software testing.

Domain testing is one of the most widely practiced software testing techniques. It is a method of selecting a small number of test cases from a nearly infinite group of candidate test cases. Domain knowledge plays a very critical role while testing domain-specific work.

Gray-box testing is a combination of white-box testing and black-box testing. The aim of this testing is to search for the defects if any due to improper structure or improper usage of applications.

Scenario testing is a software testing activity that uses scenarios: hypothetical stories to help the tester work through a complex problem or test system. The ideal scenario test is a credible, complex, compelling or motivating story; the outcome of which is easy to evaluate. These tests are usually different from test cases in that test cases are single steps whereas scenarios cover a number of steps.

James Marcus Bach is a software tester, author, trainer and consultant. He is a proponent of exploratory testing and the context-driven school of software testing and is credited with developing session-based testing. He was a member of the Board of Directors of the Association for Software Testing. Lessons Learned in Software Testing, a book he co-authored, has been cited over 130 times according to Google Scholar, and several of his articles have been cited dozens of times including his work on heuristics for testing and on the Capability Maturity Model. He has written numerous articles for IEEE Computer.

In computer programming and software testing, smoke testing is preliminary testing to reveal simple failures severe enough to, for example, reject a prospective software release. Smoke tests are a subset of test cases that cover the most important functionality of a component or system, used to aid assessment of whether main functions of the software appear to work correctly. When used to determine if a computer program should be subjected to further, more fine-grained testing, a smoke test may be called an intake test. Alternatively, it is a set of tests run on each new build of a product to verify that the build is testable before the build is released into the hands of the test team. In the DevOps paradigm, use of a BVT step is one hallmark of the continuous integration maturity stage.

Smoke testing refers to various classes of tests of systems, usually intended to determine whether they are ready for more robust testing. The expression probably was first used in plumbing in referring to tests for the detection of cracks, leaks or breaks in closed systems of pipes. By metaphorical extension the term is used in electronics. In Lessons Learned in Software Testing, Cem Kaner, James Bach, and Brett Pettichord provided the origin of the term: "The phrase smoke test comes from electronic hardware testing. You plug in a new board and turn on the power. If you see smoke coming from the board, turn off the power. You don't have to do any more testing."

<i>Better Software Magazine</i>

Better Software magazine was a quarterly digital magazine published by TechWell Corporation. It covered topics of interest to software testers, developers, project managers, and business analysts. Better Software was originally published in 1996 as Software QA magazine, focusing primarily on software QA and testing. Software QA was renamed Better Software magazine in 2004.

References

  1. 1 2 3 Kaner, Cem (31 August 2004). "They fail to give their advertised discount (Part 2)" (Blog). Alienware Sucks!. badsoftware.com. Retrieved 2006-07-27. See #Publications above for details on editions of Testing Computer Software.
  2. Kaner, Cem; Registered Agent; Association for Software Testing (14 April 2004). "Articles of Incorporation of Association for Software Testing, Inc" (PDF). Association for Software Testing. Archived from the original (pdf) on 2006-07-13. Retrieved 2006-07-28.
  3. Kaner, Cem (c. 2003). "About Me". kaner.com. Archived from the original on 2006-07-17. Retrieved 2006-07-27.