{{sellerTotalView > 1 ? __("sellers", {number: sellerTotalView}) : __("seller", {number: sellerTotalView}) }}, {{numTotalView > 1 ? __("items", {number: numTotalView}) : __("item", {number: numTotalView}) }}
무료배송

배송 지역 전환

지역에 따라 재고 및 배송 속도가 다를 수 있습니다.

위치 기록

{{email ? __('Got it!') : __('Restock Alert')}}

상품입고 후 바로 알려드리겠습니다.

취소
Yami

Jingdong book

信息科学与技术丛书:设计驱动测试

{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}

信息科学与技术丛书:设计驱动测试

{{__(":people-members", {'people': item.limit_people_count})}} {{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ item.invalid_price }} {{ itemDiscount }}
후 종료
{{ itemCurrency }}{{ item.valid_price }}
{{ itemCurrency }}{{ priceFormat(item.valid_price / item.bundle_specification) }}/{{ item.unit }}
{{ itemDiscount }}
{{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ priceFormat(item.valid_price / item.bundle_specification) }}/{{ item.unit }} {{ itemCurrency }}{{ item.invalid_price }} {{itemDiscount}}
{{ itemCurrency }}{{ item.valid_price }}
후에 세일 종료
후 초특가세일 시작 후 초특가세일 종료
{{ getSeckillDesc(item.seckill_data) }}
{{ __( "Pay with Gift Card to get sale price: :itemCurrency:price", { 'itemCurrency' : itemCurrency, 'price' : (item.giftcard_price ? priceFormat(item.giftcard_price) : '0.00') } ) }} ({{ itemCurrency }}{{ priceFormat(item.giftcard_price / item.bundle_specification) }}/{{ item.unit }}) 상세정보
상품 유효 기간

판매 중단

이 상품이 언제 재입고될지는 알 수 없습니다.

현재 주소로 배송 불가
품절

제품 설명

제품 세부 정보 전체보기
Content Description

《信息科学与技术丛书:设计驱动测试》主要介绍了设计驱动测试(DDT)的思想和一种全新的软件开发过程—ICONIX。作者希望通过一个个真实而具体的案例告诉读者,如何在实践中达到测试的最佳平衡和优化。《信息科学与技术丛书:设计驱动测试》共分12章,第1~3章介绍了全新的DDT和传统的TDD之间的差异。第4~8章通过一个真实的Web地图案例,讲解了如何在项目实践中运用DDT的思想。第9~12章主要描述了如何在自动化测试、算法测试、单元测试等环节中使用DDT。
《信息科学与技术丛书:设计驱动测试》可供软件开发人员、测试人员以及项目管理人员阅读和参考。
Catalogue

出版说明
译者序

关于作者
关于技术评审人
致谢
开场白
第一部分DDTvs.TDD第1章 有人弄反了
DDT要解决的问题
很难知道什么时候完成
将测试放在后期代价更大
测试设计糟糕的代码很困难
用户级测试很容易被遗忘
开发人员变得自负
测试有时缺少目标
对DDT的与工具无关的快速概览
DDT的结构
DDT实战
TDD与DDT的不同之处
示例项目:Mapplet2.0介绍
小结
第2章 使用TDD的HelloWorld
TDD的十大特性
10.测试驱动设计
9.完全没有文档
8.所有东西都是单元测试
7.TDD测试不是完全的单元测试
6.验收测试提供针对需求的反馈
5.TDD导致盲目自信的变更
4.设计在不断增长
3.有一些预先设计就可以了
2.TDD产生了大量测试
1.TDD实在太难了
使用TDD实现登录用例
理解需求
考虑设计
编写第一个测试先行的测试
编写登录检查代码从而使测试通过
创建模拟对象
从重构代码看设计的浮现
TDD中的验收测试
结论:TDD实在太难了
小结
第3章 使用DDT的HelloWorld
ICONIX/DDT的十大特性
10.DDT包含业务需求测试
9.DDT包含场景测试
8.测试是被设计驱动的
7.DDT包含控制器测试
6.DDT测试更灵活,更简单
5.DDT中的单元测试是“经典”的单元测试
4.DDT中的测试用例可以转换成测试代码
3.DDT测试用例指导测试计划
2.DDT测试对开发和测试团队都很有用
1.DDT可以消除重复工作
使用DDT实现登录
步骤1:创建健壮性图
步骤2:创建控制器测试
步骤3:添加场景
步骤4:将控制器测试用例转换成为类
步骤5:生成控制器测试代码
步骤6:绘制序列图
步骤7:创建单元测试用例
步骤8:填充测试代码
小结
第二部分真实世界中的DDT:Mapplet2.0旅游网站
第4章 Mapplet项目简介
ICONIX流程/DDT十大“To-Do”列表
10.创建架构
9.对需求达成共识并进行测试
8.从问题域驱动设计
7.使用UI故事板编写用例
6.编写场景测试验证用例
5.测试概要设计和详细设计
4.经常更新模型
3.保持测试脚本与需求同步
2.更新自动化测试
1.比较待发布版本和原始用例
小结
第5章 详细设计和单元测试
单元测试十大“To-Do”列表
10.从序列图开始
9.在设计中标识测试用例
8.为每个测试用例编写场景
7.聪明测试:避免重叠测试
6.把测试用例转换为UML类
5.编写单元测试和相关的代码
4.编写白盒单元测试
3.使用模拟对象框架
2.用单元测试测试算法逻辑
1.编写集成测试的独立套件
小结
第6章 概要设计和控制器测试
控制器测试十大“To-Do”列表
10.从健壮性图开始
9.为控制器标识测试用例
8.为每个测试用例定义一个或者多个场景
7.填写描述、输入和验收标准
6.生成测试类
5.实现测试代码
4.编写容易测试的代码
3.编写“灰盒”控制器测试
2.串联控制器测试
1.编写集成测试的独立套件
小结
第7章 验收测试:扩展用例场景
场景测试的十大“To-Do”列表
Mapplet用例
10.从一个叙述性用例开始
9.把这个用例转换成一个结构化的场景
8.确保涵盖所有的可选方案和意外场景
7.增加前置条件和后置条件,将每个场景分支连接起来
6.生成活动图来检查结构化场景
5.创建外部测试集来细化场景
4.把测试用例放进用例图
3.进入EA测试视图
2.根据需要细化场景
1.为测试团队生成测试计划文档
这个过程的精髓是……
小结
第8章 验收测试:业务需求
十大需求测试“To-Do”列表
10.从一个域模型开始
9.编写业务需求测试
8.对需求进行建模和整理
7.从需求创建测试用例
6.与用户一起审查你的计划
5.编写手工测试脚本
4.编写自动化需求测试
3.导出需求测试用例
2.使测试用例可见
1.让你的团队参与其中!
小结
第三部分高级DDT
第9章 单元测试的反模式(反面案例)
末日圣殿(特指某一种代码)
大背景
HotelPriceCalculator类
支持类
服务类
反模式
10.复杂的构造函数
9.滥用类继承
8.静态微触发器
7.静态方法和变量
6.单例设计模式
5.紧耦合
4.UI代码里实现业务逻辑
3.滥用私有属性
2.声明为final的服务对象
1.热心的程序员开发的不成熟的功能
小结
第10章 为易于测试而设计
十大为测试而设计的“To-Do”列表
末日圣殿——彻底修正
用例——确定我们需要做什么
识别控制器测试
计算总价格测试
获取最新价格测试
为易于测试而设计
10.将初始化代码放在构造函数之外
9.慎用继承
8.避免使用静态初始化块
7.使用对象级别的方法和变量
6.避免使用单例设计模式
5.保持类解耦合
4.将业务逻辑放在UI代码之外
3.使用“黑盒”和“灰盒”测试
2.为常量预留“final”修饰符——通常需要避免修饰复杂类型(如ServiceObjects)为final
1.坚持使用用户用例和设计
QuoteHotelPrice用例的详细设计
控制器测试:计算总价
控制器测试:获得最新价格的测试
重构设计和代码
小结
第11章 自动化的集成测试
十大集成测试“To-Do”列表
10.在概要设计里寻找测试模式
9.不要忘记安全性测试
安全性测试:SQL注入攻击
安全性测试:建立安全会话
8.决定编写哪个“等级”的集成测试
三个等级的不同点
了解编写哪个等级的集成测试
7.概要设计驱动单元/控制器级别的集成测试
6.从用例场景驱动场景测试
5.编写端到端场景测试
模拟一个场景中的步骤
共享测试数据库
Mapplet例子:“高级搜索”用例
VanillaxUnit场景测试
4.使用“业务友好”型测试框架
3.将测试GUI代码作为场景测试的一部分
2.不要低估集成测试的难度
网络延迟
数据库元数据变化
随机变化的(又名“敏捷”)接口
远程系统中的bugs
阴雨天
1.不要低估集成测试的价值
编写集成测试的关键点
小结
第12章 单元测试算法
十大算法测试“To-Do”列表
10.从概要设计的控制器开始工作
9.将控制器扩展成算法设计
8.把图和域模型对应起来
7.分割那些看上去不止做一个检查的判断结点
6.为每个结点(活动和判断结点)建立一个测试用例
5.为每个测试用例定义测试场景,一组输入和期望结果
4.按照算法,从不同的源中创建输入数据
3.把逻辑流程对应到独立的方法和类上
2.编写“白盒”单元测试
1.在其他类型的设计图上使用DDT技术
小结
附录爱丽丝漫游用例国
介绍
第1部分
爱丽丝在看书的时候睡着了
用例驱动开发的承诺
一种把用例文本和对象连接起来的分析模型
简洁且直接
<<包含>>还是<<扩展>>
我们迟到了!我们必须开始编码了!
爱丽丝想知道如何才能把用例变成代码
抽象的……基本的
有点太过抽象了?
目的中心化……
我们真的打算为每个用例都指定这些东西吗?
第2部分
爱丽丝口渴了
爱丽丝感到头晕
设想……(敬请约翰·列侬原谅,这首歌改编自他的作品)
结对编程意味着再也不用把需求写下来了
没时间去写需求了
你也许也会说“代码就是设计”
谁在乎用例?
C3项目被中止了
一次且只有一次?
没有写下需求之前,爱丽丝拒绝开始写代码
你因为预先设计而被定罪……
CMM已经死了,砍掉她的脑袋!
一些严肃的设计重构
第3部分
爱丽丝醒了
缩小“什么”和“如何”之间的距离
静态模型和动态模型被连接在了一起
行为被定位到序列图里
这里面的教训在于……
尾声——乱七八糟的测试……
索引
Introduction

随着信息科学与技术的迅速发展,人类每时每刻都会面对层出不穷的新技术和新概念。毫无疑问,在节奏越来越快的工作和生活中,人们需要通过阅读和学习大量信息丰富、具备实践指导意义的图书来获取新知识和新技能,从而不断提高自身素质,紧跟信息化时代发展的步伐。
众所周知,在计算机硬件方面,高性价比的解决方案和新型技术的应用一直备受青睐;在软件技术方面,随着计算机软件的规模和复杂性与日俱增,软件技术不断地受到挑战,人们一直在为寻求更先进的软件技术而奋斗不止。目前,计算机和互联网在社会生活中日益普及,掌握计算机网络技术和理论已成为大众的文化需求。由于信息科学与技术在电工、电子、通信、工业控制、智能建筑、工业产品设计与制造等专业领域中已经得到充分、广泛的应用,所以这些专业领域中的研究人员和工程技术人员越来越迫切需要汲取自身领域信息化所带来的新理念和新方法。
针对人们了解和掌握新知识、新技能的热切期待,以及由此促成的人们对语言简洁、内容充实、融合实践经验的图书迫切需要的现状,机械工业出版社适时推出了“信息科学与技术丛书”。这套丛书涉及计算机软件、硬件、网络和工程应用等内容,注重理论与实践的结合,内容实用、层次分明、语言流畅,是信息科学与技术领域专业人员不可或缺的参考书。

명세서

상표 Jingdong book
브랜드 영역 China

면책성명

제품 가격, 포장, 사양 등의 정보는 예고 없이 변경될 수 있습니다. 적시에 제품 정보를 업데이트 할 수 있도록 최선을 다하지만, 받은 실제 제품을 참고하시기 바랍니다. 제품을 사용하기 전에 반드시 제품에 동봉된 라벨, 경고 및 설명을 읽어 주십시오.

상세정보 보기
찜한 목록에 추가
{{ $isZh ? coupon.coupon_name_sub : coupon.coupon_ename_sub | formatCurrency }}
{{__("Buy Directly")}} {{ itemCurrency }}{{ item.directly_price }}
수량
{{ quantity }}
{{ instockMsg }}
{{ limitText }}
{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}
JD@CHINA 판매
배송지
{{ __("Ship to United States only") }}
69이상 주문 시 무료 배송
정품 보증

장바구니에 추가됨

쇼핑 계속하기

당신을 위한 추천

{{ item.brand_name }}

{{ item.item_name }}

{{ item.currency }}{{ item.market_price }}

{{ item.currency }}{{ item.unit_price }}

{{ item.currency }}{{ item.unit_price }}

쿠폰

{{ coupon.coupon_name_new | formatCurrency }}
받기 받았음 마감
{{ getCouponDescStr(coupon) }}
{{ coupon.use_time_desc }}
곧 만료됩니다: {{ formatTime(coupon.use_end_time) }}

친구들과 공유하세요

취소

Yami 기프트카드 전용특가

기프트카드로 결제하면 전용특가를 받을 수 있습니다

규칙 설명

기프트카드 전용특가는 일부 상품에 대한 특혜가격입니다.

기프트카드 전용특가 상품 구매 시 E-기프트 카드 잔액으로 결제하고 기프트카드 잔액이 주문 내 상품의 총액을 지불하기에 충분하하 기프트카드 전용특가가 자동으로 활성화됩니다.

기프트 카드 잔액으로 결제하지 않거나 기프트카드 잔액이 전항의 요건을 충족하지 못할 경우 기프트카드 전용특가를 활성화할 수 없으며 상품은 정상 가격으로 구매할 수 있습니다.

기프트카드 전용특가 상품 구매 시 잔액이 부족할 경우 장바구니 또는 결제 페이지에서 "충전" 버튼을 클릭하여 기프트카드를 구매 및 충전할 수 있습니다.

기프트카드 전용특가가 있는 상품은 "전용특가"라는 특별한 가격표시가 표시됩니다.

질문이 있으시면 언제든지 고객 서비스에 문의하십시오.

Yami는 기프트카드 전용특가 관련 최종 해석권을 보유합니다.

Yami 판매

서비스 보장

Yami $49 이상 무료 배송
Yami 걱정 없는 반품/교환
Yami 미국에서 발송

배송 정보

  • 미국

    표준 배송 $5.99(알래스카, 하와이 제외), 최종 가격 $49 이상 시 무료 배송

    지역 배송 $5.99(캘리포니아, 뉴욕, 뉴저지, 매사추세츠, 펜실베이니아, 위 주의 일부 지역), 최종 가격 $49 이상 시 무료 배송

    2일 이내 배송(알래스카 및 하와이 포함) $19.99부터 시작

반품 및 교환 정책

Yami는 고객님께 최상의 A/S를 제공하고, 모든 분들이 Yami에서 안심하고 쇼핑할 수 있도록 노력하고 있습니다. Yami의 자영 상품은 반품 및 교환 조건을 충족하는 경우, 상품 수령 후 30일 이내에 반품 및 교환할 수 있습니다(식품은 품질 문제로 인해 7일 이내에 반품 및 교환이 가능합니다. 모든 고객이 안전하고 고품질의 제품을 받을 수 있도록 뷰티 제품은 개봉 또는 사용 후에는 품질 문제를 제외하고 환불 또는 반품을 제공하지 않습니다. 기타 특별 카테고리의 제품은 고객 서비스에 문의하시기 바랍니다).
이해와 지원에 감사드립니다.

상세정보 보기

Yami 판매

Yami E-기프트카드 사용 약관

구매 시 자동 충전을 선택한 경우, 주문 완료 후 기프트카드가 자동으로 계정에 충전됩니다.

구매 시 이메일 발송을 선택한 경우, 주문 완료 후 시스템이 자동으로 카드 번호와 비밀번호를 입력한 이메일로 발송합니다.

이메일을 보낼 때, 모든 사용자는 이메일에 있는 카드 번호와 비밀번호를 사용하여 기프트카드를 충전할 수 있으니, 이메일 정보를 잘 보관하세요.

이메일을 받는 데 문제가 있으면, 고객 서비스에 연락하여 처리해 주세요.

이메일을 보낼 때, 기프트카드가 교환되지 않았다면 이메일을 재발송할 수 있습니다. 이미 다른 사용자에 의해 교환된 경우에는 보상할 수 없습니다.

Yamibuy의 E-기프트카드는 자영 또는 제3자 상품 구매에 사용할 수 있습니다.

Yamibuy의 E-기프트카드는 유효 기간 제한이 없으며, 장기간 유효합니다.

Yami 전자 상품권의 금액은 여러 번에 나눠서 사용할 수 있습니다;

Yami 전자 상품권 업무 규칙의 최종 해석 권한은 Yami 웹사이트에 있습니다.

반품 및 교환 정책

이미 사용된 E-기프트카드는 환불이 불가능합니다.

판매자: JD@CHINA

서비스 보장

Yami $49 이상 무료 배송
Yami 최고의 A/S
Yami 미국 본토에서 발송

배송 정보

  • 미국

    표준 배송 $5.99(알래스카, 하와이 제외), 최종 가격 $49 이상 시 무료 배송

    지역 배송 $5.99(캘리포니아, 뉴욕, 뉴저지, 매사추세츠, 펜실베이니아, 위 주의 일부 지역), 최종 가격 $49 이상 시 무료 배송

    2일 이내 배송(알래스카 및 하와이 포함) $19.99부터 시작

반품 및 교환 정책

제품을 받으신 후 30일 이내에 제품을 반품하실 수 있습니다. 반품된 품목은 구매에 대한 원본 송장을 포함하여 원래 포장된 새 품목이어야 합니다. 고객이 자신의 비용으로 제품을 반품합니다.

JD@CHINA 판매

서비스 보장

Yami 점포간 $:amount 이상 구매 시 무료 배송
Yami 30일 반품/교환 보장

Yami-중국 집하창고

Yami는 중국 내 주요 우수매장에서 제품을 선별하여 모아 Yami 중국통합센터로 배송하며 택배를 합친 후 전국 각지의 주소로 배송해 드립니다. 점포간 무료 배송 조건은 최저 $69입니다. 여러 판매자가 제공하는 다양한 상품 중에서 원하는 상품을 선택하고 점포간 무료배송으로 저렴한 배송비를 쉽게 누릴 수 있습니다.

반품 정책

30일 이내 반품 및 교환 보증을 제공합니다. 제품은 새로 사용하지 않은 원래 포장에 구매 증명서가 첨부되어 있어야 합니다. 상품 품질 문제, 잘못된 배송, 배송 누락 등 판매자의 실수로 인한 경우 환불 처리됩니다. 기타 사유로 인한 반품 및 교환은 배송비는 고객이 자체로 부담하셔야 합니다. 모든 제품은 장거리 배송을 하기 때문에 간혹 간단한 외부 포장이 눌려 마모되는 등이 있지만 내부 품질 문제가 없는 경우 반품 및 교환할 수 없습니다.

배송 정보

Yami 중국집하배송 Consolidated Shipping 배송비 $9.99 ($69 이상 주문시 무료배송)

중국 판매자는 주문 후 영업일 기준 2일 후에 상품을 발송합니다. 모든 택배는 Yami 중국통합센터(특별한 상황 및 중국 내 개별 법정 공휴일 제외)에 도착하여 택배를 합친 후 UPS를 통해 미국으로 배송됩니다. UPS는 중국에서 발송 후 미국까지 평균 10영업일 정도 소요되며 직배송 주문 번호에 따라 수시로 추적 및 조회할 수 있습니다 전염병의 영향으로 현재 물류가 5일 정도 지연될 수 있습니다. 택배는 고객 서명이 필요합니다. 서명하지 않은 경우 고객은 택배가 분실될 위험을 부담하게 됩니다.

JD@CHINA 판매

서비스 보장

69이상 주문 시 무료 배송
정품 보증

배송 정보

Yami Consolidated Shipping배송비$9.99($69 이상 주문 시 무료 배송)


Seller will ship the orders within 1-2 business days. The logistics time limit is expected to be 7-15 working days. In case of customs clearance, the delivery time will be extended by 3-7 days. The final receipt date is subject to the information of the postal company.

포인트 규칙

모든 품목은 Yamibuy 의 프로모션이나 포인트 이벤트에서 제외됩니다.

반품 및 교환 정책

제품을 받으신 후 30일 이내에 제품을 반품하실 수 있습니다. 반품된 품목은 구매에 대한 원본 송장을 포함하여 원래 포장된 새 품목이어야 합니다. 고객이 자신의 비용으로 제품을 반품합니다.

Yami

Yami 앱 다운로드

맨 위로 돌아가기

당신을 위한 추천

브랜드 스토리

Jingdong book

为您推荐

Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折

리뷰{{'('+ commentList.posts_count + ')'}}

당신의 체험을 공유하고 더 많은 사용자가 선택할 수 있도록 도와줍니다.

리뷰 작성
{{ totalRating }} 리뷰 작성
  • {{i}}별

    {{i}} 별

    {{ parseInt(commentRatingList[i]) }}%

Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}접기

{{ strLimit(comment,800) }}전체 보기

Show Original

{{ comment.content }}

Yami
모두 보기

{{ formatTime(comment.in_dtm) }} 구매 완료 {{groupData}}

{{ comment.likes_count }} {{ comment.likes_count }} {{ comment.reply_count }} {{comment.in_user==uid ? __('Delete') : __('Report')}}
Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}접기

{{ strLimit(comment,800) }}전체 보기

Show Original

{{ comment.content }}

Yami
모두 보기

{{ formatTime(comment.in_dtm) }} 구매 완료 {{groupData}}

{{ comment.likes_count }} {{ comment.likes_count }} {{ comment.reply_count }} {{comment.in_user==uid ? __('Delete') : __('Report')}}

조건에 맞는 리뷰가 없습니다

리뷰 상세

Yami Yami

{{ showTranslate(commentDetails) }}접기

{{ strLimit(commentDetails,800) }}전체 보기

Show Original

{{ commentDetails.content }}

Yami
모두 보기

{{ formatTime(commentDetails.in_dtm) }} 구매 완료 {{groupData}}

{{ commentDetails.likes_count }} {{ commentDetails.likes_count }} {{ commentDetails.reply_count }} {{commentDetails.in_user==uid ? __('Delete') : __('Report')}}

내용을 입력하세요

답변{{'(' + replyList.length + ')'}}

Yami Yami

{{ showTranslate(reply) }}접기

{{ strLimit(reply,800) }}전체 보기

Show Original

{{ reply.reply_content }}

{{ formatTime(reply.reply_in_dtm) }}

{{ reply.reply_likes_count }} {{ reply.reply_likes_count }} {{ reply.reply_reply_count }} {{reply.reply_in_user==uid ? __('Delete') : __('Report')}}

내용을 입력하세요

취소

지금까지의 모든 리뷰입니다!

리뷰 작성하기
상품 평점

댓글을 입력하세요.

  • 좋은 닉네임이 당신의 리뷰를 더 인기 있게 만들 것입니다!
  • 여기에서 닉네임을 변경하면 개인정보의 닉네임도 같이 변경됩니다.
리뷰를 남겨주셔서 감사합니다
당신의 좋은 리뷰는 우리 커뮤니티가 아시아 최고의 상품을 찾는 데 도움이 됩니다.

신고하기

취소

이 리뷰를 삭제하시겠습니까?

취소

최근 본 상품

브랜드 스토리

Jingdong book