Ten years on, testing has changed, and so have I, but something remains the same

全程软件测试

                                                                      (I designed it thirteen years ago)

       Ten years ago, the first edition of "Full Software Testing" met with you. It is the culmination of seven years of testing work in WebEx, and it has been liked by readers. I have learned that several companies use this book as a test engineer's entry training material. Ten years on, the field of software testing has changed a lot, and so have I. Although I left WebEx, Cisco, left the testing work in the front line of the enterprise, and came to Tongji University, I have not lost contact with the industry, and I am no longer limited to the practice of a company, but have a broader vision , and Test engineers from nearly 100 companies communicated and provided them with testing training, consulting services , including providing long-term testing technology consulting services for China South Locomotive, Huawei Technologies Co., Ltd. 2012 Laboratory R&D Competence Center, etc. Today's understanding and understanding of testing is not the same as when I wrote the first and second editions of this book. Both the breadth and depth have been greatly improved. This can also be learned from my official account "Software Quality" A glimpse of the leopard can be seen in several articles of "Report".

On the other hand, software testing itself has also undergone great changes, not only advocating testing to the left and testing to the right (this is the main idea of ​​writing this book ten years ago - " Testing runs through the entire software life cycle" is still consistent ) and the rise of DevOps, and today a large number of full-time testers have disappeared, more developers start to do testing, people pay more attention to automated testing and exploratory testing, more test developers are hired, and manual testers are getting more and more There is no market. However, software testing has the risk of being led astray. For example, some companies claim to " give new value and mission to the software testing team " and change the name of the software testing department to " Engineering Productivity  (EP)" department. As an EP, its responsibility is to improve professional services and provide some professional suggestions to the product department. These suggestions cover reliability, security, internationalization, testing, release, deployment, etc. The more important responsibility of EP is to be responsible for all that can improve the efficiency of software development. Development and maintenance of tools, including business modeling tools, source code management systems, code analysis tools, version building tools, automated testing tools, quality management tools, defect management systems, etc. It even emphasizes the strategic development of tools that help defect prevention, rather than just the development of traditional testing tools (tools for finding defects). Although this approach-"establishing an EP department" is a good thing, focusing on "improving engineering productivity and reducing software defects" and emphasizing defect prevention is the best policy, but what the EP department does is no longer software The main work of testing is far from testing. At this time, EP cannot be regarded as software testing, EP is EP, and EP and software testing cannot be confused. Just like sometimes we tend to call testing QA (Quality Assurance, quality assurance) and regard QA as testing, but in fact there are obvious differences between the two. QA emphasizes that a good R&D process produces good products, focusing on process definition , Process review and process improvement, the focus of work is to prevent defects, while testing belongs to quality control, emphasizing the quality inspection of software staged products and final products, and the focus of work is to find defects. Although testing is one of the important means of QA, it is not equal to QA.

Even if testing is shifted to the left and right, agile development mode and DevOps have become popular, we discuss that software testing needs to be carried out in this context, and software testing should be better integrated into the overall environment of software development and operation and maintenance, but we still need Be clear about the work to be done in software testing itself, and distinguish between quality management, operation and maintenance management, and R&D capability improvement. When we talk about "software testing", we refer to the related work of software testing, such as unit testing, integration testing, system testing, etc., and are not limited to dynamic testing, but can also include static testing - requirements review, design review, code Review and static analysis of code with tools. When we talk about software testing today, we no longer refer to the work done by full-time testers. The testing work that can be done by developers is no longer limited to unit testing. They can do integration testing, system testing, etc.

Although it cannot be said: "There are a thousand sayings for a thousand testers", there are many kinds that can be listed:

  • Software testing is to verify whether the software product meets the needs of users;

  • Software testing is not only to verify the consistency of design and requirements, implementation and design, but also to confirm whether the implemented functions really meet the actual needs of users.

  • Software testing is an activity carried out to find software defects;

  • Software testing is to continuously reveal the quality risks of software products;

  • Software testing is to conduct a comprehensive evaluation of software product quality and provide product quality information;

Therefore, at the beginning of this book, we comprehensively expound the different understandings of software testing and the analysis of the whole process of testing ideas , reveal the connotation of software testing, help readers better understand different testing objectives and testing values, and help to plan software testing well. and execute. This is the first part of the book, consisting of Chapters 1 and 2:

  • Chapter 1 360-degree viewing test: at a glance
  • Chapter 2 Full Test: Flashing Thoughts

As the second part of this book, a complete software testing life cycle is discussed . This part starts with the "preparation" of the test project, focusing on the construction of test infrastructure and TA framework, team capabilities, etc., which is the basis for subsequent test planning, design and execution, under the background of today's complex environment and technology, and rapid delivery , the infrastructure must be looked at first . Then, step by step to test planning, design, execution. It is indeed not easy to take into account the traditional test and the test in the agile mode, but the core things generally have good vitality and are not easy to be abandoned, and they do not have to be regarded as different test stages, but It is regarded as a basic testing activity to be experienced in the development process. This part of the basic method will not be introduced in detail. You can refer to the test textbook I wrote before. Here we will focus on the flexible application and practice of the method . This part is made up of the 3rd chapter to the 9th chapter.

  • Chapter 3 Preparation: Infrastructure and TA Framework
  • Chapter 4 Preparation: Organizations and Teams
  • Chapter 5 Project Initiation: Know Yourself, Know Your Enemy, and Win a Hundred Battles
  • Chapter 6 Test Planning: Analysis and Strategy
  • Chapter 7 Test Design: Architecture and Use Cases
  • Chapter 8 Test Execution: Automation and Exploration
  • Chapter 9 Never Close: Continuous Reflection, Feedback, and Improvement

The idea of ​​full-process testing is not limited to functional testing, but also extends to non-functional testing , including continuous performance testing and optimization, continuous security testing and reinforcement, and focuses on thorough automated testing—full-process test modeling and full-process visualization manage.

  • Chapter 10 Full Static Testing: Responding to Changes
  • Chapter 11 Full Performance Testing: Continuous Optimization
  • Chapter 12 Total Security: Continuous Hardening
  • Chapter 13 Full Modeling: Fully Automated
  • Chapter 14 Whole Process Visualization: Management Without Dead Angles

Finally, looking into the future, testing involves microservices, cloud technology, AI technology and its applications, etc., which are more challenging . Due to limited space, the last chapter can only do the finishing touches, but it can also inspire you, know how to deal with challenges, how to design solutions for cloud testing and AI testing, and make cloud computing and AI technology better for testing purposes. Even though I have written 15 chapters, hundreds of pages, and hundreds of thousands of words, I feel that many things have not been written yet. If I write slowly, I can write 1,000 pages and 1-2 million words without any problem. If the very specific operation steps are described, and a few more examples are given for analysis, each chapter can be written as a book. After all, the energy is limited, and the essence is drawn out. As for the details, I leave it to everyone to study and expand themselves. The most important ability of an IT person is the ability to learn - the ability to learn by himself, so it is most effective to practice by yourself how to use tools. It is not difficult for professional engineers to use tools, but it is quite difficult to change their thinking and way of thinking . In short, from ideas, processes, methods to best practices, and your own thinking are all presented, and the rest is for readers to think, practice, think again, and practice again. (Method of joining the group: scan the QR code and add the WeChat account of the asynchronous assistant, reply to the keyword "whole process software testing" to join the group)

全程软件测试-第3版

(Recommendation order, recommendation speech to be continued)

thank you

First of all, I would like to thank Mr. Tian Suning, member of the Advisory Committee of Harvard Business School and chairman of Broadband Capital Fund, for writing the preface for this book in his busy schedule, linking software testing with customer operations in today's era, and then upgrading it to "only companies that have mastered software, Only in this way can we understand and grasp the future world and keep up with the tide of the times.”

Secondly, I would like to thank all the friends who wrote recommendations for this book, and some of them also provided valuable opinions . They are (in no particular order, just listed by the first letter of the pinyin):

  1. Cai Lizhi ISO/IEC Chinese expert representative, director of the Technical Committee of China Software Testing Organization Alliance, deputy director of Shanghai Computer Software Technology Development Center

  2. Chen Ji, CEO of Shanghai Jihui Information Technology Co., Ltd. & Co-founder of VipTest

  3. Cheng YanJD Logistics R&D Manager

  4. Xiaopeng ChenHead of Accenture China Center of Excellence

  5. Chen Zhenyu, Professor of Nanjing University, Founder of Moce Platform

  6. Geng Xiaoqian (Christina Gen), Director of Testing at Splunk San Francisco Headquarters

  7. Hu Xing Director R&D Architect of Baidu Intelligent Driving Business Group

  8. 孔德晋 华为测试专家

  9. 李戈 北京大学副教授、CCF软件工程专委秘书长

  10. 李怀根 广发银行研发中心总经理

  11. 刘琛梅(梅子)绿盟科技防火墙研发经理、《软件测试架构师修炼之道》作者

  12. 刘江 美团点评技术学院院长、CCF技术前线委员会秘书长

  13. 刘琴 ISTQB中国首席代表、同济大学软件学院教授

  14. 刘冉 ThoughtWorks资深软件质量咨询师

  15. 廖志 腾讯质量管理通道委员、CSIG地图产品质量中心总监

  16. Phyllis Chang Senior Manager, Webex Engineering,Cisco HQ

  17. 茹炳晟 Dell EMC 测试架构师

  18. 王斌 Testin云测解决方案事业部副总, VipTest联合创始人

  19. 王冬 360测试总监

  20. 王金波 中国科学院空间软件评测中心、主任/研究员

  21. 熊志男 京东高级测试开发工程师、“测试窝”社区联合创始人

  22. 许永会 知名通信企业资深测试专家

  23. 杨春晖 工信部第五研究所软件中心主任、中国赛宝实验室软件评测中心主任

  24. 杨凯球 中兴通讯公司测试经理

  25. 杨晓慧 前华为测试专家、现AI机器时代CTO

  26. 杨忠琪 东方证券测试负责人

  27. 于洪奎 中国银行软件中心高级经理

  28. 钟思德 灼识咨询顾问、知名通信公司高级测试经理 

  29. 周震漪 CSTQB 常务副理事长、TMMi中国分会副理事长

  30. 朱波 香港航空有限公司IT经理

再者,感谢人民邮电出版社编辑们的辛勤工作,特别是陈冀康、吴晋瑜等编辑大力支持和愉快的合作,使本书以良好的状态与读者见面。最后,感谢家人的全力支持,使我能够全心致力于本书的写作,能够和读者有一次更深、更流畅的思想和技术交流。

谢谢你们!

扫二维码去京东、当当购买

文章已于2018-12-06修改

Guess you like

Origin blog.csdn.net/KerryZhu/article/details/87976960